zoukankan      html  css  js  c++  java
  • java一行一行写入或读取数据

    假如E:/phsftp/evdokey目录下有个evdokey_201103221556.txt文件,

    现在对evdokey_201103221556.txt文件进行写入或读取操作,并解决写入或读取出现的乱码问题。

                   

    文件内容如:

    zhangsan,23,福建
    lisi,
    30,上海
    wangwu,
    43,北京
    laolin,
    21,重庆
    ximenqing,
    67,贵州

                    

    代码如下:

    /**
    * 一行一行读取文件,适合字符读取,若读取中文字符时会出现乱码
    *
    * 流的关闭顺序:先打开的后关,后打开的先关,
    * 否则有可能出现java.io.IOException: Stream closed异常
    *
    *
    @throws IOException
    */
    @Test
    public void readFile01() throws IOException {
    FileReader fr
    =new FileReader("E:/phsftp/evdokey/evdokey_201103221556.txt");
    BufferedReader br
    =new BufferedReader(fr);
    String line
    ="";
    String[] arrs
    =null;
    while ((line=br.readLine())!=null) {
    arrs
    =line.split(",");
    System.out.println(arrs[
    0] + " : " + arrs[1] + " : " + arrs[2]);
    }
    br.close();
    fr.close();
    }

    /**
    * 一行一行读取文件,解决读取中文字符时出现乱码
    *
    * 流的关闭顺序:先打开的后关,后打开的先关,
    * 否则有可能出现java.io.IOException: Stream closed异常
    *
    *
    @throws IOException
    */
    @Test
    public void readFile02() throws IOException {
    FileInputStream fis
    =new FileInputStream("E:/phsftp/evdokey/evdokey_201103221556.txt");
    InputStreamReader isr
    =new InputStreamReader(fis, "UTF-8");
    BufferedReader br
    = new BufferedReader(isr);
    //简写如下
    //BufferedReader br = new BufferedReader(new InputStreamReader(
    // new FileInputStream("E:/phsftp/evdokey/evdokey_201103221556.txt"), "UTF-8"));
    String line="";
    String[] arrs
    =null;
    while ((line=br.readLine())!=null) {
    arrs
    =line.split(",");
    System.out.println(arrs[
    0] + " : " + arrs[1] + " : " + arrs[2]);
    }
    br.close();
    isr.close();
    fis.close();
    }

    /**
    * 一行一行写入文件,适合字符写入,若写入中文字符时会出现乱码
    *
    * 流的关闭顺序:先打开的后关,后打开的先关,
    * 否则有可能出现java.io.IOException: Stream closed异常
    *
    *
    @throws IOException
    */
    @Test
    public void writeFile01() throws IOException {
    String[] arrs
    ={
    "zhangsan,23,FuJian",
    "lisi,30,ShangHai",
    "wangwu,43,BeiJing",
    "laolin,21,ChongQing",
    "ximenqing,67,GuiZhou"
    };
    FileWriter fw
    =new FileWriter(new File("E:/phsftp/evdokey/evdokey_201103221556.txt"));
    //写入中文字符时会出现乱码
    BufferedWriter bw=new BufferedWriter(fw);
    //BufferedWriter bw=new BufferedWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("E:/phsftp/evdokey/evdokey_201103221556.txt")), "UTF-8")));

    for(String arr:arrs){
    bw.write(arr
    +"\t\n");
    }
    bw.close();
    fw.close();
    }

    /**
    * 一行一行写入文件,解决写入中文字符时出现乱码
    *
    * 流的关闭顺序:先打开的后关,后打开的先关,
    * 否则有可能出现java.io.IOException: Stream closed异常
    *
    *
    @throws IOException
    */
    @Test
    public void writeFile02() throws IOException {
    String[] arrs
    ={
    "zhangsan,23,福建",
    "lisi,30,上海",
    "wangwu,43,北京",
    "laolin,21,重庆",
    "ximenqing,67,贵州"
    };
    //写入中文字符时解决中文乱码问题
    FileOutputStream fos=new FileOutputStream(new File("E:/phsftp/evdokey/evdokey_201103221556.txt"));
    OutputStreamWriter osw
    =new OutputStreamWriter(fos, "UTF-8");
    BufferedWriter bw
    =new BufferedWriter(osw);
    //简写如下:
    //BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
    // new FileOutputStream(new File("E:/phsftp/evdokey/evdokey_201103221556.txt")), "UTF-8"));

    for(String arr:arrs){
    bw.write(arr
    +"\t\n");
    }

    //注意关闭的先后顺序,先打开的后关闭,后打开的先关闭
    bw.close();
    osw.close();
    fos.close();
    }
  • 相关阅读:
    解决点击状态栏时ScrollView自动滚动到初始位置失效办法
    如何设计用户、角色、权限表
    Subject的功能
    shiro授权的源码分析
    shiro之认证源码分析
    shiro配置
    JSONArray转JSONObject
    parameterType
    MyBatis:Parameter Maps collection does not contain value for 的问题解决
    mybatis报ORA-00911: 无效字符
  • 原文地址:https://www.cnblogs.com/linjiqin/p/1992250.html
Copyright © 2011-2022 走看看