当前位置: 代码迷 >> 综合 >> 字符流-FileReader、FileWriter-读写文件
  详细解决方案

字符流-FileReader、FileWriter-读写文件

热度:13   发布时间:2024-01-25 20:23:24.0

读FileReader:

FileReader类从InputStreamReader类继承而来。该类按字符读取流中数据。可以通过以下几种构造方法创建需要的对象。

在给定从中读取数据的 File 的情况下创建一个新 FileReader。

FileReader(File file)

在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。

FileReader(FileDescriptor fd) 

在给定从中读取数据的文件名的情况下创建一个新 FileReader。

FileReader(String fileName) 

创建FIleReader对象成功后,可以参照以下列表里的方法操作文件。

序号 文件描述
1 public int read() throws IOException
读取单个字符,返回一个int型变量代表读取到的字符
2 public int read(char [] c, int offset, int len)
读取字符到c数组,返回读取到字符的个数

 

写FileWriter:

FileWriter 类从 OutputStreamWriter 类继承而来。该类按字符向流中写入数据。可以通过以下几种构造方法创建需要的对象。

在给出 File 对象的情况下构造一个 FileWriter 对象。

FileWriter(File file)

在给出 File 对象的情况下构造一个 FileWriter 对象。

 FileWriter(File file, boolean append)

参数:

  • file:要写入数据的 File 对象。
  • append:如果 append 参数为 true,则将字节写入文件末尾处,相当于追加信息。如果 append 参数为 false, 则写入文件开始处。

    构造与某个文件描述符相关联的 FileWriter 对象。

    FileWriter(FileDescriptor fd)

    在给出文件名的情况下构造 FileWriter 对象,它具有指示是否挂起写入数据的 boolean 值。

    FileWriter(String fileName, boolean append)

    创建FileWriter对象成功后,可以参照以下列表里的方法操作文件。

    序号 方法描述
    1 public void write(int c) throws IOException
    写入单个字符c。
    2 public void write(char [] c, int offset, int len)
    写入字符数组中开始为offset长度为len的某一部分。
    3 public void write(String s, int offset, int len)
    写入字符串中开始为offset长度为len的某一部分。

 

实例:

import java.io.*;public class FileRead {public static void main(String args[]) throws IOException {File file = new File("Hello1.txt");// 创建文件file.createNewFile();// creates a FileWriter ObjectFileWriter writer = new FileWriter(file);// 向文件写入内容writer.write("This\n is\n an\n example\n");writer.flush();writer.close();// 创建 FileReader 对象FileReader fr = new FileReader(file);char[] a = new char[50];fr.read(a); // 从数组中读取内容for (char c : a)System.out.print(c); // 一个个打印字符fr.close();}
}
以上实例编译运行结果如下:This
is
an
example
  相关解决方案