Java转换流

Java转换流教程

字节流字符流 的文章里面,我们了解到,对文件进行操作的时候,要么用字节流读取或者写入。要么用字符流进行读取或者读写。

OutputStreamWriter 是 Writer 的子类,它将输出的字符流变为来字节流。InputStreamReader 是 Reader 的子类,将输入的字节流变成变为字符流。

13 字节码字符码转换.png

案例

package com.haicoder.net.stream; import java.io.*; public class StreamChangeTest { public static void main(String[] args) throws Exception { System.out.println("嗨客网(www.haicoder.net)"); File file = new File("/Users/haicoder/Documents/code/hai/filetest.txt"); Writer out = new OutputStreamWriter(new FileOutputStream(file)); out.write("\n\r你好,嗨客网"); out.close(); Reader reader = new InputStreamReader(new FileInputStream(file)); char c[] = new char[1024]; int len = reader.read(c); reader.close(); System.out.println(new String(c, 0, len)); } }

运行结果如下

14 字节码字符码转换案例.png

无论我们怎么操作,最终存储在文件里面的文件都是以字节形式存储的。我们可以看到字符串最终填充到了文件里面。也很好的将文件里面的数据读取了出来。

Java转换流总结

字节流和字符流之间可以转换,OutputStreamWriter 将字符流转换为字节流,InputStreamReader 将字节流转换为字符流。