:::::::::字节流::::::::::::::::::
同字节流类似,字符流也是通过两个顶层的抽象类Reader和Writer的子类来实现对Unicode字符流的处理的。
图3:Reader抽象类
图4:Writer抽象类
抽象类Reader和Writer定义了实用的方法,其中最主要的是read()和
write()。这两个方法在Reader和Writer中声明为抽象方法,由子流类overwrite实现。
下面还是简单介绍一下字符流中,继承Reader和Wirter的主要子流类。
字符流类 |
功能简单介绍 |
Reader |
抽象类,描述字符流的输入 |
Writer |
抽象类,描述字符流的输入 |
StingReader |
从字符串读取的输入流 |
StringWriter |
写入字符串的输出流 |
FileReader |
从文件读入的输入流 |
FileWriter |
写入文件的输出流 |
PrintWriter |
包含最常见的Print()和Println()的输出流 |
PushbackReader |
返回一个字符到输入流,主要用于编译器的实现 |
PipedReader |
输出管道 |
PipedWriter |
输入管道 |
CharArrayReader |
从字符数组读取的输入流 |
CharArrayWriter |
写入字符数组的输出流 |
BufferReader |
缓冲输入流 |
BufferWriter |
缓冲输出流 |
FilterReader |
实现了InputStream Interface |
FilterWriter |
实现了OutputStream Interface |
InputStreamReader |
将字节转换为字符的输入流 |
OutputStreamWriter |
将字节转换为字符的输出流 |
对比两个表,你是否有什么发现?~~
^_^,是不是很多的类名和作用都差不多,没错!这些方法的不同之处仅仅在于一个是针对字节的,一个是针对字符的。