流之阅读器和书写器(简介)

Java的内置字符集是Unicode的UTF-16编码。Java提供了一组API来读/写字符。注意这里是字符而不是字节。java.io.Reader类指定读取字符的API。java.io.Writer指定写字符的API。字节流与字符流相互转换的地方,就会使用到阅读器和书写器。Reader和Writer的具体子类允许读取特定的源和写入特定的目标。另外,过滤器阅读器和书写器可以附加到其他阅读器或书写器上,以提供额外的服务或接口。

Reader和Writer最重要的具体子类是 InputStreamReader OutputStreamWriter类。InputStreamReader类包含一个底层输入流,可以从中读取原始字节。它根据指定的编码方式,将这些字节转换为Unicode字符。OutputStreamWriter从运行的程序中接收Unicode字符,然后使用指定的编码方式将这些字符转换为字节,再将这些字节写入底层输出流中

除了这两个类,java.io包还提供了几个原始阅读器和书写器类,它们可以读取字符而不需要一个底层输入流,这些类包括:

  • FileReader

  • FileWriter

  • StringReader

  • StringWriter

  • CharArrayReader

  • CharArrayWriter

以上所列的个类可以处理文件,后个由Java内部使用,所以在网络编程中不太常用。不过,除了构造函数不同,这些类与所有其他阅读器和书写器类一样,都有相同的公共接口。



你可能感兴趣的:(java-IO与网络编程)