当前位置: 代码迷 >> 综合 >> Java IO (14) -- FileReader 类 FileWriter 类
  详细解决方案

Java IO (14) -- FileReader 类 FileWriter 类

热度:59   发布时间:2023-12-16 13:25:13.0

文章目录

    • 1. 概念
    • 2. 构造器
      • 1. FileReader
      • 2. FileWriter
    • 3. 案例

1. 概念

FileWriter和FileReader写入和读取字符文件的便捷类.

FileWriter继承父类OutputStreamWriter,构造方法会访问父类中默认编码方式的构造方法,其他的方法完全继承自父类,没有对父类的方法进行重写.而FileReader继承父类InputStreamReader,同样构造方法会访问父类默认编码方法的的构造方法,其他方法也完全继承自父类.如需要指定编码方式,需要OutputStreamWriter和FileOutputStream,InputStreamReader和FileInputStream配合使用

2. 构造器

1. FileReader

  1. public FileReader(String fileName) throws FileNotFoundException:创建的是指定文件名称fileName的FileReader流.默认编码方式
  2. public FileReader(File file) throws FileNotFoundException:创建的是指定file对象的FileReader流,默认编码方式
  3. public FileReader(FileDescriptor fd):创建与文件描述符关联的FileReader对象

2. FileWriter

  1. public FileWriter(String fileName) throws IOException:创建的是指定了文件名称fileName的FileWriter流,默认编码方式
  2. public FileWriter(String fileName, boolean append) throws IOException:创建的是指定了文件名称和默认编码方式的FileWriter流,append表示的是是否追到文件末尾,false表示的是覆盖fileName文件
  3. public FileWriter(File file) throws IOException:创建的是File文件对象的FileWriter流,默认编码方式
  4. public FileWriter(File file, boolean append) throws IOException:创建的是File文件对象和默认编码方式的FileWriter流,append表示的是追加到文件末尾,false表示的是覆盖fileName文件
  5. public FileWriter(FileDescriptor fd):创建与文件描述符关联的FileWriter流

3. 案例

public class FileReaderAndWriterDemo {
    public static void main(String[] args) throws IOException {
    String fileName= "D:\\java.txt";testFileWriter(fileName);testFileReader(fileName);}private static void testFileWriter(String fileName) throws IOException {
    FileWriter fw = new FileWriter(fileName);fw.write("helloworld");fw.write("\n");fw.write('a');fw.write(Integer.toString(12456));//写入非字符,需要转化fw.close();}private static void testFileReader(String fileName) throws IOException {
    FileReader fr = new FileReader(fileName);char cbuf[] = new char[1024];while(fr.read(cbuf)!=-1) {
    System.out.println(cbuf);}fr.close();}
}//结果
helloworld
a12456
  相关解决方案