java IO体系结构(二)字符流

来源:互联网 发布:防火墙软件测评 编辑:程序博客网 时间:2024/06/14 09:34

Java 字符流(处理文本数据)类图如下:

 

读取字符流 Reader:

 

Reader

主要采用了装饰模式,InputStreamReader采用适配器模式

 

写入字符流 Writer:

Writer

主要采用了装饰模式,OutputStreamWriter采用适配器模式

 

Reader和Writers是java1.1中加入的。设计Reader和Writer继承层次结构主要是为了国际化。老的IO流继承层次结构仅支持8位字节流,并且不能很好地处理16位的Unicode字符。

由于Unicode字符用于字符国际化,所以添加Reader和Writer继承结构体系是为了在所有的IO操作中都支持Unicode。另外,新类库的设计使得它的操作比旧类库更快。

 

字节流和字符流对应关系:

字节流

字符流

InputStream

Reader

适配器:InputStreamReader

OutStream

Writer

适配器:OutputStreamWriter

FileInputStream

FileReader

FileOutputStream

FileWriter

StringBufferInputStream(已弃用)

StringReader

(无对应的类)

StringWriter

ByteArrayInputStream

CharArrayReader

ByteArrayOutputStream

CharArrayWriter

PipedInputStream

PipedReader

PipedOutputStream

PipedWriter

 

其中过滤器类:

过滤器字节流

字符流

FilterInputStream

FilterReader

FilterOutputStream

FilterWriter(抽象类,没有子类)

BufferInputStream

BufferReader

BufferOutputStream

BufferWriter

DataInputStream

 

PrintStream

PrintWriter

LineNumberInputStream(已弃用)

LineNumberReader

PushbackInputStream

PushbackReader

原创粉丝点击