转换流
转换流
InputStreamReader
读(字符流)字节流,所以是字节流通向字符流
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
程序
1.创建流对象
创建转换流对象时记得要指定使用的编码
2.读取和关闭
应当注意的是:
转换流指定的编码一定要和读取文件编码一致,否则就会出现乱码,如下图所示:
很明显读取文件hello.txt使用UTF-8编码,如果此时转换流指定编码不是UTF-8就会读取乱码,如下图所示
OutputStreamWriter
写(字符流)字节流,所以是字符流通向字节流
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
程序
1.创建流对象
2.写入和关闭
一个尝试
既然转换是字节的读取,写入的也是字节,能不能实现用转换流复制图片呢?
复制出来的图片无法打开,因为jpg不支持这种编码方式
JPEG基本系统规定采用Huffman编码。
尝试失败