IO流

来源:互联网 发布:淘宝文案格式模板 编辑:程序博客网 时间:2024/06/02 02:35
IO流:
1.字符流:文本文件。
字符流的两个基类:Writer,Reader.
2.字节流:
字节流的两个基类:InputStream,OutputStream.


字符流的特点:

既然IO流是用于操作数据的,那么数据的最常见体现形式:文件.


close()关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据。将数据刷到目的地中。和flush()区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。


读取数据:

1.read()方法:一次对一个字符,而且会自动往下读。
2.read(char[])通过字符数组进行读取。


字符流缓冲区:
BufferRead,BufferWriter是为了提高流的操作效率。所以在创建缓冲区之前,必须要先有流对象。该缓冲区当中提供了一个跨平台的换行符,newLine();该缓冲区提供了一个一次读一行的方法readLine(),方便于文本数据的获取,当返回null时,表示读到文件末尾,返回的时候只返回回车符之前的数据内容,不返回回车符。


装饰设计模式:
当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能,那么自定义的该类称为装饰类。 

装饰类通常会通过构造方法接收被装饰的对象,并基于被装饰的对象的功能,提供更强的功能。


装饰模式比继承要灵活,避免了继承体系臃肿,而且降低了类与类之间的关系。装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能,所以装饰类和被装饰类通常都属于一个体系中。


字节流;
InputStream,OutputStream


流操作的基本规律:

流对象有很多,不知道用那一个?
通过三个明确来完成。
1、明确源和目的。
源:输入流,InputStream,Reader
目的:输出流,OutputStream,Writer
2、操作的数据是否是纯文本。
是:字符流。
不是:字节流。
3、当体系明确后,再明确要使用那个具体的对象。
通过设备来进行区分:
源设备:内存,硬盘,键盘。
目的设备:内存,硬盘,控制台。

原创粉丝点击