字符流
FileReader ——> int read(char[] c):读中文也不会乱码
FileWriter ——> void writer(String str)
`FileWriter ——> void write(char[] c,int offset,int len)
- 写入默认是覆盖操作,通过修改配置可改为追加操作
字节流
使用方法基本相同,不同的是byte[] 与 char[]
- 使用字节流读写字符文件,可以正确的写到目标文件中,不会出现乱码中文,但是在中途打印到控制台就会出现乱码
- 如果txt写的不是中文,使用字节流读取不会乱码
使用字节流复制图片
- 使用字节流复制图片报错,不能使用字符流复制图片
缓冲流
使用BufferInputStream和BufferOutputStream复制图片
字符缓存流提供了按行读取的方式br.readLine()
习题
图片加密
解密与加密相同
转换流 形参都是字节流
InputStreamReader 将一个字节的输入流转换为字符的输入流
字节输入流 ——> 字符输入流
- 转换之后,可以指定字符编码集
- 在使用字节流读字符文件,并在控制台打印时,会出现
乱码情况,使用装换流,保证字节流,并指定编码集,可以在控制台正常打印
OutputStreamWriter 将一个字符的输出流转换为字节的输出流
- 以gbk存储之后,在idea里面乱码,赋值粘贴到桌面上文本文件不会乱码