java基础之IO流
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简述)
Properties是hashtable的子类
也就是说呀具备map集合的特点,而且他里面存储的键值对都是字符串。
是集合中的IO技术结合的集合容器
该对象的特点:可以用于键值对形式的配置文件
那么在加载数据时,需要数据有固定格式:键=值。
<!--EndFragment-->上一篇: [转] oracle中的 %type %rowtype 用法
下一篇: redis key操作