标签:
装饰设计模式:
当想要对已有对象进行功能增强时。可以定义类,将已经有的类传入,基于已经有的功能,并且提供增强的功能,那么自定义的类就是装饰类。
小技巧: 如何分辨字节流和字符流,就是字节流用byte[]操作, 字符流用char[] 操作
在字节流当中是对数据的最小操作,所以在写入操作的时候就不需要刷新操作。
使用缓冲区读写文件的思路:
//文件读缓冲区 BufferedInputStream bufin = new BufferedInputStream(new FileInputStream("文件地址")); //文件写的缓冲区 BufferedOutputStream bufout = new BufferedOutputStream(new FileOutputStream("写到的文件地址")); byte [] buf = new byte[1024]; int len = 0; //读取到缓冲区当中,返回值为读取的长度,然后呢读取指针指向下一个地址,如果读取的结束了就返回 -1 , //所以这里我反复的读取 while ((len = bufin.read(buf))!=-1) { //写入数据,一直写,如果流还没有关闭的话。就一直在文本里面接着写入到后面的数据,设置len是保证他写入的长度; bufout.write(buf,0,len); } //不要忘记关闭流 bufin.close(); bufout.close();
一个流被定义为一个数据序列。输入流用于从源读取数据,输出流用于向目标写数据。
下图是一个描述输入流和输出流的类层次图。
【读取键盘的录入】
system.out:标准输出流 –> 对应的是标准的输出设备:一般就是显示器
system.in: 标准的输入流->对应的一般就是输入设备
标签:
原文地址:http://www.cnblogs.com/ganwei/p/4567723.html