开发者社区> 问答> 正文

java的IO流很重要,初识InputStream:报错

这是我从《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

展开
收起
kun坤 2020-06-06 15:11:59 583 0
1 条回答
写回答
取消 提交回答
  • 大部分情况下直接使用jdk自带的io包是过期的、不推荐的、大概率会出错的做法。

    请用apache的commons-io。

    ######无所谓 反正不搞这个的###### @Mr.Big : 这样随便说说你就信了?######这样子的啊######

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

    2020-06-06 15:12:06
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
从《阿里巴巴Java开发手册》编写推广谈技术成长 立即下载
如何通过 Serverless 提高 Java 微服务治理效 立即下载
多IO线程优化版 立即下载