:::::::::字节流::::::::::::::::::
同字节流类似,字符流也是通过两个顶层的抽象类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 | 将字节转换为字符的输出流 |
对比两个表,你是否有什么发现?~~
^_^,是不是很多的类名和作用都差不多,没错!这些方法的不同之处仅仅在于一个是针对字节的,一个是针对字符的。