使用FileReader和FileWriter在Java中进行文件处理

Java字节流用于执行8位字节的输入和输出,而Java字符流用于执行16位unicode的输入和输出。尽管有许多与字符流相关的类,但最常用的类是FileReaderFileWriter。尽管在内部FileReader使用FileInputStream和FileWriter使用FileOutputStream,但是这里的主要区别在于FileReader一次读取两个字节,而FileWriter一次写入两个字节。

下面的示例使用这两个类将输入文件(具有Unicode字符)复制到输出文件中-

示例

import java.io.*;
public class CopyFile {

   public static void main(String args[]) throws IOException {

      FileReader in = null;
      FileWriter out = null;

      try {
         in = new FileReader("input.txt");
         out = new FileWriter("output.txt");

         int c;
         while ((c = in.read()) != -1) {
            out.write(c);
         }
      } finally {
         if (in != null) {
            in.close();
         }
         if (out != null) {
            out.close();
         }
      }
   }
}

现在让我们输入一个文件input.txt,其内容如下:

This is test for copy file.

下一步,编译上面的程序并执行它,这将导致创建output.txt文件,其内容与input.txt中的内容相同。因此,让我们将上面的代码放入CopyFile.java文件中,然后执行以下操作:

输出结果

$javac CopyFile.java
$java CopyFile