InputStream + OutputStream

输入输出

编程语言的I/O类库中常使用流这个抽象概念,它代表有产生数据能力的数据源对象和能接收数据能力的接收端对象。
任何InputStream和Reader派生而来的类都有一个read()方法,能够用来读取单个字节或者字节数组。任何OutputStream和Writer派生而来的类都有write()方法,用了写单个字节或者字节数组。

InputStream

InputStream表示那些从不同数据源产生输入的类。这些数据源包括:

  1. 字节数组。
  2. String对象。
  3. 文件。
  4. “管道”,工作方式与实际管道相似,一端输入,一端接收。解决多线程中协作问题,将协作代码和业务代码解耦。
  5. 多个流队列合成的队列。
  6. 其它数据,如Internet链接等。

每种数据都有对应的InputStream子类。另外装饰器FilterInputStream也属于一种InputStream.

功能构造器参数
ByteArrayInputStream允许将内存的缓冲区当作InputStream使用缓冲区,字节将从中取出
StringBufferInputStream将字符串转为InputStream字符串,底层实现使用的是StringBuffer
FileInputStream从文件中读取信息字符串,表示文件名、文件或者FileDescriptor对象
PipedInputStream产生用于写入PipedOutputStream对象的数据。实现“管道化”概念PipedOutputStream
SequenceInputStream将两个或多个的InputStream转换为一个单一的InputStream两个InputStream或者容纳InputStream的Enumeration
FilterInputStream抽象类,作为装饰器接口

OutputStream

该类别的类觉得了输出所要去的目标:字节数组,文件或者管道。
装饰器FilterOutputStream类提供了一个基类,“装饰器”将有用的属性或者有用的接口与输出流连接起来。

功能构造器参数
ByteArrayOutputStream在内存中创建缓冲区,所以送往流的数据都要放置在此缓冲区缓冲区初始化尺寸
FileOutputStream用于将信息写至文件字符串,表示文件名,文件或者FileDescrptor对象
PipedOutputStream任何写入的数据都会作为PipedInputStream的输出。实现“管道”概率PipedInputStream
FilterOutputStream抽象类,作为装饰器接口

添加有用的属性和接口

**装饰器:**创建的参数不同时,表现也不相同。用于多种功能自由组合时使用。
FilterInputStream和FilterOutputStream装饰器接口用来控制特定的输入流和输出流。

FilterInputStream从InputStream读取数据

功能构造器参数
DataInputStream配合DataOutputStream使用,可以按照可移植方式从流中读取基本数据类型。InputStream
BufferdInputStream防止每次操作时都进行写操作。代表“使用缓冲区”。InputStream
LineNumberInputStream可以跟踪流中的行号。InputStream
PushbackInputStream能弹出字节缓冲区。因此可以将最后一个字节退回。java编译器会使用,我们一般用不到。InputStream

FilterOutputStream向OutputStream写入

功能构造器参数
DataOutputStream与DataInputStream搭配使用,可按照可植入方式像流中写入基本数据类型。OutputStream
PrintStream用与产生格式化输出。OutputStream
BufferdOutputStream避免每次输出时都进行实际的写操作。代码“使用缓冲区”。可以调用flush()清空缓冲区。OutputStream
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值