欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java基础之IO流

程序员文章站 2022-07-12 13:37:18
...

IO流笔记

装饰设计模式

 

当想要对已有的对象进行功能增强时,

可以顶一类,将已有对象传入,基于已有的功能,并提供加强功能。

那么自定义的该类称为装饰类。

 

装饰类通常会通过构造方法接受被装饰的对象。

并基于被装饰的对象的功能,提供更强的功能。

装饰模式比继承要灵活,避免了继承体系的臃肿。

而且降低了类与类之间的关系。

 

装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更多功能

所以装饰类和被装饰类听你歌唱是都属于一个体系中的。

 

 

最痛苦的就是留对象有很多,不知道该用哪一个,所以要是总结个规律就方便了。

例如:

1源:键盘录入。

  目的:控制台

需求:想把键盘录入的数据存储到一个文件中。

 源:键盘

目的:文件

需求:想要将一个文件的数据打印在控制台上。

源:文件。

目的:控制台/

 

通过两个明确来完成

1,明确源和目的。

源:输入流。 InputStream  Reader

目的:输出流。 OutputStream Writer

2,操作的数据是否为纯文本。

是:字符流。

不是:字节流。

3,当体系明确后,在明确要使用那个具体的对象。

通过设备来进行区分:

源设备: 内存,硬盘,键盘

目的设备:内存,硬盘,控制台。

 

例:

1,将一个文本文件中数据存储到另一个文件中。 复制文件。

源:因为是缘,所以使用读取流。  InputStream  Reader

是不是操作文本文件。

是!这时就可以选择Reader

这样体系就明确了。

 

接下来明确要使用该体系中的那个对象。

明确设备:硬盘。上一个文件

Reader体系中可以操作文件的对象是FileReader

 

是否需要提高效率: 是!,  加入Reader体系中缓冲区BufferedReader

 

FileReader    fr   =   new   FielReader(a.txt);

BufferedReader   bufr   =   new   BufferedReader(fr);

 

 

目的:OutputStream  Writer

是否为纯文本。

是! Writer

设备:硬盘,一个文件。

Writer体系中可以操作文件的对象FileWriter.

是否需要提高效率: 是!  加入Writer体系中缓冲区 BufferedWriter

 

FileWriter   fw      =    new   FileWriter(b.txt);

BufferedWriter    bufw   =   new   BufferedWriter(fw);

 

 

IO(Properties简述)

 

Propertieshashtable的子类

也就是说呀具备map集合的特点,而且他里面存储的键值对都是字符串。

是集合中的IO技术结合的集合容器

该对象的特点:可以用于键值对形式的配置文件

那么在加载数据时,需要数据有固定格式:键=值。

<!--EndFragment-->
相关标签: java 设计模式