您的位置:首页 > 其它

IO输入输出流-2

2013-07-09 14:37 225 查看
缓冲区的出现是为了提高流的操作效率而出现的。

所以在创建缓冲区之前,必须要先有流对象。

该缓冲区中提供了一个跨平台的换行符。

newLine();

创建一个字符写入流对象。

FileWriter fw = new FileWriter("buf.txt");

为了提高字符写入流效率。加入了缓冲技术。

只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。

BufferedWriter bufw = new BufferedWriter(fw);

记住,只要用到缓冲区,就要记得刷新。

bufw.flush();

其实关闭缓冲区,就是在关闭缓冲区中的流对象。

bufw.close();

字符读取流缓冲区:

该缓冲区提供了一个一次读一行的方法 readLine,方便于对文本数据的获取。

当返回null时,表示读到文件末尾。

readLine方法返回的时候只返回回车符之前的数据内容。并不返回回车符。

装饰设计模式:

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

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

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

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

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

专门用于读取数据的类。

 MyTextReader-MyBufferTextReader

 MyMediaReader-MyBufferMediaReader

 MyDataReader-MyBufferDataReader

专门用于读取数据的类。

 MyTextReader

 MyMediaReader

 MyDataReader

 MyBufferReader

将需要被缓冲的对象。传递进来。也就是,谁需要被缓冲,谁就作为参数传递给缓冲区。

这样继承体系就变得很简单。优化了体系结构。

装饰模式比继承要灵活。避免了继承体系臃肿。而且降低了类于类之间的关系。

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

所以装饰类和被装饰类通常是都属于一个体系中的。

读取键盘录入。

System.out:对应的是标准输出设备,控制台。

System.in:对应的标准输入设备:键盘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: