Java IO系统学习(1)

一. 输入和输出

1. InputStream的类型

InputStream的作用是标志那些从不同起源地产生的输入的类,这些起源地包括(每一个都有一个相关的InputStream子类):

(1)字节数组;

(2)String对象;

(3)文件;

(4)“管道”;

(5)一系列其他流,以便我们将其统一收集到单独一个留内;

(6)其他起源地,如Internet连接等。

2. OutputStream的类型

这一类别包括的类决定了我们的输入往何处去:一个字节数组(但没有String)、一个文件或者一个管道。

除此以外,FilterOutputStream为“破坏器”类提供了一个基础类,它将属性或者有用的接口同输出流连接起来。

扫描二维码关注公众号,回复: 2668174 查看本文章

二. 增添属性和有用的接口

利用层次化对象动态和透明地添加单个对象地能力的做法叫做“装饰器”(Decorator)方案。装饰器方案规定封装于初始化对象中的所有对象都拥有相同的接口,以便利用装饰器的“透明”性质——我们将相同的信息发给一个对象,无论它是否已被”装饰“。

FilterInputStream和FilterOutputStream提供了相应的装饰器接口,用于控制一个特定的输入流(InputStream)或者输出流(OutputStream)。它们分别是从InputStream和OutputStream衍生出来的。此外,它们都属于抽象类,在理论上为我们与一个流的不同通信手段都提供了一个通用的接口。事实上,FilterInputStream和FilterOutputStream只是简单地模仿了自己的基础类,它们是一个装饰器的基本要求。

1. 通过FilterInputStream从InputStream里读数据

FilterInputStream类要完成两件全然不同的事情,其中,DataInputStream允许我们读取不同的基本类型数据以及String对象。伴随对应的DataOutputStream,我们可通过数据“流”将基本类型的数据从一个地方搬到另一个地方。这些“地方”是由第一个表总结的那些类决定的。

2. 通过FilterOutputStream向OutputStream中写入数据

与DataInputStream对应的是DataOutputStream,后者对各个基本数据类型以及String对象进行格式化,并将其置入一个数据“流”中,以便任何机器上的DataInputStream都能正常读取它们

注意:DataOutputStream与DataInputStream配合使用,以便采用方便的形式将基本数据类型写入一个数据流。

 

猜你喜欢

转载自blog.csdn.net/qq_37003223/article/details/81202576