java字节流与字符流之间的转换
-
字节流转为字符流
//InputStreamReader 使用构造函数将字节流转为字符流 InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("src/a.txt"));
-
字符流转为字节流
//OutputStreamWriter 使用构造函数将字节输出流转为字符输出流 OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("src/b.txt"));
以上为网上查找相关问题时出现最多的结果。
大大的疑问
明明两个都是通过构造函数将字节流转为了字符流?是不是写错了?
-
网上解答:“字节流转换成字符流”是指API的转换,“字符流转换成字节流”是指在write的时候数据的转换。
个人理解:
-
new InputStreamReader(new FileInputStream(“src/a.txt”)) 返回的是一个字符输入流,此时可以理解通过构造方法将传入的字节流对象转换为字符流; new OutputStreamWriter(new FileOutputStream(“src/b.txt”)) 虽然同样是返回一个字符流,但是在write 的时候最终写入的还是 二进制字节文件;
个人学习笔记,欢迎纠错补充。 2022.09.16 23:24
上一篇:
通过多线程提高代码的执行效率例子