转换流的使用(InputStreamReader,OutputStreamWriter)

我们如何设置字节输入流、字节输出流的编码和解码格式?

在字节输入流(InputStream)、字节输出流(OutputStream)中,并没有提供设置编码和解码格式的方法。
InputStream的API文档如下:
48de37d2-294d-46d0-a3cc-211c0e0737c2.png

因为字节输入输出流并没有提供相应的方法,让我们对编码和解码格式进行设置。

那么我们就要使用转换流,来对字节流的编码进行设置。

何为转换流?
通过API可得知,转换流就是字节流通向字符流的桥梁。它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
如:InputStreamReader的API:
360反馈意见截图165801057571126.png
这下子就好办了,我们只要把输入流“丢进”这个转换流,再给它指定一下字符集,它便会自己进行编码了
如 : new InputStreamReader(new InputStream(),"UTF-8");
      new OutputStreamWriter(new OutputStream(),"UTF-8");
 

 

原文地址:https://www.cnblogs.com/JamKong/p/4634144.html