字符流
字符流的简介
- 字符流不同于字节流,字符流一般用于文本的操作
- 字符流的主要操作数据类型是char
字符流的操作
1. 字符流是一个资源对象,在操作后需要对其进行close
Reader fr = new FileReader("文件名");
Writer fw = new FileWriter("文件名");
创建对象,注意writer对象若是想要追加进去,而不是每次写入时都是覆盖,就需要加一个参数
Writer fw = new FileWriter("文件名",true);
2. 注意异常的处理,可以使用try-with-resource来解决
try (
Reader fr = new FileReader("文件名");
Writer fw = new FileWriter("文件名");
){
} catch (Exception e){
e.printStackTrace();
}
try后面跟着的小括号可以用来防止资源对象,即实现了抽象类AutoCloseable的资源对象(需要释放资源
3. 对文件进行读取操作 读取全部的内容
char[] buf = new char[3];
int len;
while ((len = fr.read(buf))!=-1){
System.out.print(new String(buf,0,len));
}
while的括号里的判断条件是len取值然后对le内进行判断值
4. 对文件进行写操作
fw.write("你好");
fw.write('了');//算一个字符
fw.write("我是谁,你谁说",0,3);//从0开始,写入三个字符
注意事项 写字符操作,字符输出流写出数据后,必须刷新流,或者关闭流,写出去的数据才能生效
关闭流 close() 刷新流 flush()