字符流
-
java.io.Reader:字符输入流的父类,是一个抽象类
-
共有的方法:
- int read() 读取单个字符并返回
- int read(char[] cbuf) 一次读取多个字符,将字符读入数组
- void close() 关闭流并释放资源
java.io.FileReader extends InputStreamReader extends Reader
- FileReader:文件字符输入流
- 构造方法
- FileReader(String fileName)
- FileReader(File file)
java.io.FileWriterextends OutputStreamReader extends Writer
- void write(int c) 写入单个字符
- void write(char[] cbuf) 写入字符数组
- abstract void write(char[] cbuf, int off, in len) 写入字符数组中的一部分,len表示个数
- void write(String str) 写入字符串
- void write(String str, int off, int len) 写入字符串中某一部分字符个数
- void flush() 刷新该流的缓冲
- void close() 关闭流,但先要刷新
-
FileWriter:文件字符输出流
-
构造方法->会根据文件路径自己创建文件
- FileWriter(String fileName)
- FileWriter(File file)
-
字符输出流的使步骤:
- 创建FileWriter对象,构造方法中绑定要写入数据的地址
- 使用FileWriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)
- 使用FileWriter中的方法flush,把内存缓冲区中的数据,刷新到文件中
- 释放资源(会把内存缓冲区中的数据刷新到文件中)
FileReader fr = new FileReader("./a.txt");
char[] b = new char[1024];
int len = 0;
while ((len = fr.read(b))!=-1){
System.out.println(new String(b,0,len));
}
fr.close();
FileWriter fw = new FileWriter("./a.txt",true);
char[] chars = {'1','2','3','4','5','6'};
fw.write(chars);
//把内存缓冲区的数据刷新到文件中
fw.flush();
fw.close();
标签:字符,char,java,int,void,write,FileWriter
From: https://www.cnblogs.com/-xyk/p/16758777.html