字符流:
顶级父抽象类Reader和Writer,一次一字符的操作,实现了Closeable接口。如果涉及中文信息,则需要考虑编码字符集的问题,如果编码字符集错误,则显示乱码
Reader用于封装字符读取操作
read():int 返回读取到的字符数据,0-65535 2B,返回-1 表示流末尾
read(char[]):int 返回读取的字符个数,流结束返回-1
close():void 关闭流
Writer用于封装字符写出操作
write(int):void 写出低16位
write(char[]数据,int起始下标,int写出的字符数):void
close():void 关闭流,释放资源
write(String):void 写出一个字符串内容到输出流中
实例:从一个txt文件中读取数据,在控制台上显示输出,并写入到指定文件中
public class Test01 {
public static void main(String[] args) {
try (Reader in = new FileReader("out/a1.txt"); Writer ou = new FileWriter("out/a1.txt")) {
char[] arr = new char[8192];
int len = 0;
while ((len = in.read(arr)) > 0) {
String ss = new String(arr, 0, len);
System.out.println(ss);
ou.write(arr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}