首页 > 代码库 > Java IO流体系中常用的流分类

Java IO流体系中常用的流分类

Java输入/输出流体系中常用的流分类

(表内容来自http://www.cnblogs.com/moonpool/p/5488463.html)

注:下表中带下划线的是抽象类,不能创建对象。粗体部分是节点流,其他就是常用的处理流。

流分类使用分类字节输入流字节输出流字符输入流字符输出流
 抽象基类InputStream

OutputStream

ReaderWriter
节点流访问文件FileInputStreamFileOutStreamFileReaderFileWriter
访问数值ByteArrayInputStreamByteArrayOutStreamCharArrayReaderCharArrayWriter
访问管道PipedInputStreamPipedOutStreamPipedReaderPipedWriter
访问字符串  StringReaderStringWriter
处理流缓冲流BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter
转换流  InputStreamReaderOutputStreamWriter
对象流ObjectInputStreamObjectOutputStream  
抽象基类(过滤)FilterInputStreamFilterOutputStreamFilterReaderFilterWriter
打印流 PrintStream PrintWriter
推回输入流PushbackInputStream PushbackReader 
特殊流DataInputStreamDataOutputStream  

 

——————————————————————————————————————————————————————————————————

总结:

1.Java IO是采用的是装饰模式,即采用处理流来包装节点流的方式,来达到代码通用性。

2.处理流和节点流的区分方法,节点流在新建时需要一个数据源(文件、网络)作为参数,而处理流需要一个节点流作为参数。

3.处理流的作用就是提高代码通用性,编写代码的便捷性,提高性能。

4.节点流都是对应抽象基类的实现类,它们都实现了抽象基类的基础读写方法。其中read()方法如果返回-1,代表已经读到数据源末尾。

Java IO流体系中常用的流分类