java的IO流很重要,初识InputStream

整理秀逗的脑袋 发布于 2011/09/19 16:02
阅读 6K+
收藏 5

这是我从《java编程思想》中摘录的,看了他介绍的这一小节,我对InputStream有了很整体的认识。

“创建单一的结果流,却需要创建多个对象”

这句话说出了很多人的心声,感觉流很繁琐,一层嵌一层,但是我看了下边这个表格就不再糊涂了。

我觉得通过三部就不会弄混了:

首先:认识数据源

其次:选择正确的读取数据源的类

最后:用FilterInputStream的子类对读取数据源的类进行装饰。


InputStream的作用是用来表示那些从不同的数据源产生输入的类。

数据源包括:

1.      字节数组

2.      String对象

3.      文件

4.      管道

5.      一个由其他种类的流组成的序列

6.      其他(Internet连接等)

每一种数据源都有相应的InputStream子类。另外FilterInputStream也属于一种InputStream,为“装饰器”类提供基类,其中,“装饰器”类可以把属性或有用的接口与输入流连接在一起。

功能

构造器参数

如何使用

ByteArrayInputStream

运行讲内存的缓冲区当做InputStream使用

缓冲区,字节将从中取出

作为一个数据源:与FilterInputStream对象相连接以提供有用的接口

StringBufferInputStream

String转换成InputStream

字符串。底层实现实际使用StringBuffer

--同上--

FileInputStream

用于从文件中读取信息

字符串,表示文件名、文件或FileDescriptor对象

--同上--

PipedInputStream

产生用于写入相关PipedOutputStream的数据

PipedOutputStream

作为多线程中数据源:讲其与FilterInputStream对象相连以提供有用接口

SequenceInputStream

将两个活多个InputSteam对象转换成单一的InputStream

两个InputStream对象或者一个容纳InputStream对象的容器Enumeration

ByteAraayInputStream

FilterInputStream

抽象类,作为“装饰器”的接口。

 

 

 


java的IO流很重要,出事OutputStream

加载中
0
swanliu
swanliu

大部分情况下直接使用jdk自带的io包是过期的、不推荐的、大概率会出错的做法。

请用apache的commons-io。

黄金小瓜
黄金小瓜
无所谓 反正不搞这个的
szf
szf
@Mr.Big : 这样随便说说你就信了?
黄金小瓜
黄金小瓜
这样子的啊
0
最代码
最代码

请参考代码:java通过InputStream读取和写入文件操作实例代码,下载地址:http://www.zuidaima.com/share/1758442014903296.htm

返回顶部
顶部