关于java下的明确编码方式的文件读写操作总结

来源:互联网 发布:网络之混元法师txt下载 编辑:程序博客网 时间:2024/05/18 03:21

在java下主要通过file类来对文件进行操作!

一、创建文件

//创建一个文件对象,如:

File f1=new File("E:\\test.txt");

 

二、文件操作

        说实话,在java下读写文件的诸如PrintWriter、FileWriter、FileInputStream之类的IO流非常之多,初看之下确实会让人晕死!!!!!但是,根据自己的需要,选择合适的就可以了,没有必要全部掌握。

         其实在java下,常用的文件IO流也就FileWriter/FileReader和FileOutputWriter/FileInputReader这两组。其中,FileWriter/FileReader是FileOutputWriter/FileInputReader的子类,二者的主要区别在于FileWriter/FileReader采用系统默认的编码方式进行读写,不可以自己设置;而FileOutputWriter/FileInputReader可以在构造函数中设置读写的编码方式,所以为了保险防止出现乱码,一般用FileOutputWriter/FileInputReader进行文件的读写。

             FileOutputWriter/FileInputReader是java中非常关键的文件IO流,它是字节流-字符流的转换桥梁。可以用下面这张图说明一下:

          

 

1.写文件示例:

   File out = new File(file);

   //构造 OutputStreamWriter 实例,并设置写入文件的编码方式
   OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream(out), Charset.forName("GBK")); 
   BufferedWriter bw = new BufferedWriter(ow); //引入BufferedWriter进行封装是为了提高写文件的效率

   bw.write();   //写入内容

   bw.newLine(); //另起一行写

   bw.flush();   //刷新

   bw.close();  //关闭流

   值得注意的是,在new FileOutputStream(out)中,默认是覆盖原内容地写。如果要追加地写文件,还需要设置一个参数:

   new FileOutputStream(out,ture) //追加写到文件中 

2.读文件示例:

   File out = new File(file);

   //构造 InputStreamReader 实例,并设置写入文件的编码方式
   InputStreamReader ir = new InputStreamReader(new FileInputStream(out), Charset.forName("GBK")); 
   BufferedReader br = new BufferedReader(ir); //引入BufferedReader进行封装是为了提高写文件的效率

   String lineTxt = null; 
   while((lineTxt = bufferedReader.readLine()) != null)
  { 
     /*

    处理

    */

  } 
  br.close(); //关闭读文件流

原创粉丝点击