您的位置:首页 > 编程语言 > Java开发

《java编程思想》学习笔记-----Java 流

2015-12-24 16:49 706 查看
1、InputStream 和OutputStream是java1.0中的I\O相关的基类。Reader和Writer是java 1.1中添加的I\O相关的类。

基本上,每个InputStream(OutputStream)的子类都有与之对应的Reader(Writer)子类。

在实际使用中,首先选择Reader或Writer。因为Reader和Writer是后面添加的,效率更高。如果不能使用Reader或Writer,再使用InputStream和OutStream.

2、主要的InputStream(OutputStream)和Reader(Writer)对照表:

InputStream Reader

适配器:InputStreamReader
OutputStream Writer

适配器:OutputStreamReader
FileInputStream FileReader
FileOutputStreamFileWriter
StringReader
StringWriter
ByteArrayInputStreamCharArrayReader
ByteArrayOutputStreamCharArrayWriter
PipedInputStreamPipedReader
PipedOutputStreamPipedWriter
3、更改流的行为。有时候会使用FilterInputStream和FilterOutputStream的装饰器子类来修改“流”,来满足特殊需求(使用的是装饰器模式)。Reader和Writer的继承结构也类似。比如,创建BufferReader可以用来加快读取的效率,因为它有个缓存区,一次可以读取大块的数据,缓存起来。比起一次读取一点数据,效率更快。

4、装饰器类对照表

FilterInputStream FilterReader
FilterOutputStreamFilterWriter(抽象类,无子类)
BufferedInputStreamBufferedReader
BufferedOutputStreamBufferedWriter
DataInputStream
PrintStreamPrintWriter
LineNumberInputStream(已弃用) LineNumberReader
StreamTokenlizerStreamTokenizer(接受Reader构造器)
PushbackInputStreamPushbackReader
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: