FileReader类
FileReader
类从InputStreamReader
类继承而来,该类按字符读取流中数据。可以通过以下几种构造方法创建需要的对象。
- 在给定从中读取数据的
File
的情况下,创建一个新FileReader
:
FileReader(File file);
- 在给定从中读取数据的
FileDescriptor
的情况下,创建一个新FileReader
:
FileReader(FileDescriptor fd);
- 在给定从中读取数据的文件名的情况下,创建一个新
FileReader
:
FileReader(String fileName);
创建FIleReader
对象成功后,可以使用如下方法操作文件:
public int read() throws IOException
:读取单个字符,返回一个int
型变量代表读取到的字符。public int read(char [] c, int offset, int len)
:读取字符到c
数组,返回读取到字符的个数。
FileWriter类
FileWriter
类从OutputStreamWriter
类继承而来,该类按字符向流中写入数据。可以通过以下几种构造方法创建需要的对象:
- 在给出
File
对象的情况下构造一个FileWriter
对象:
FileWriter(File file);
- 在给出
File
对象的情况下构造一个FileWriter
对象,它具有指示是否挂起写入数据的boolean
值:
FileWriter(File file, boolean append);
- 构造与某个文件描述符相关联的
FileWriter
对象:
FileWriter(FileDescriptor fd);
- 在给出文件名的情况下构造
FileWriter
对象,它具有指示是否挂起写入数据的boolean
值:
FileWriter(String fileName, boolean append);
创建FileWriter
对象成功后,可以使用如下方法操作文件:
public void write(int c) throws IOException
:写入单个字符c
。public void write(char [] c, int offset, int len)
:写入字符数组中开始为offset
长度为len
的某一部分。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(); /* 创建文件 */
FileWriter writer = new FileWriter(file); /* 创建FileWriter对象 */
writer.write("This\n is\n an\n example\n"); /* 向文件写入内容 */
writer.flush();
writer.close();
FileReader fr = new FileReader(file); /* 创建FileReader对象 */
char[] a = new char[50];
fr.read(a); /* 读取内容值数组中 */
for (char c : a)
System.out.print(c); /* 一个个打印字符 */
fr.close();
}
}
执行结果:
This
is
an
example