<aside> 💡
Java中的字符转换流:InputStreamReader 和 OutputStreamWriter。
这两个类是Java I/O中非常重要的一部分,它们的核心作用是充当“桥梁”,在字节流(Byte Stream)和字符流(Character Stream)之间进行转换。
</aside>
在Java I/O中,流被分为两大类:
InputStream 和 OutputStream。FileInputStream, FileOutputStream, BufferedInputStream。Reader 和 Writer。FileReader, FileWriter, BufferedReader。核心问题来了:
InputStream)。.txt文件、一个HTTP响应体),我们更希望直接操作字符(char) 或字符串 (String),而不是自己去处理字节到字符的解码。String) 写入到文件或网络时,我们拥有的是字符,但最终必须写入的是字节 (OutputStream)。这个“字节”和“字符”之间的转换,就需要一个规则,这个规则就是“字符编码(Charset)”。
InputStreamReader 和 OutputStreamWriter 就是专门来做这个“编码”和“解码”工作的桥梁。
InputStreamReader (字符转换输入流)InputStreamReader 是一个 Reader。它读取字节并将其解码为字符。
一句话总结:它把一个 InputStream (字节输入流) 包装成一个 Reader (字符输入流)。
public InputStreamReader(InputStream in)