黑马程序员技术交流社区
标题:
关于缓冲的疑点
[打印本页]
作者:
沈浩
时间:
2013-4-16 15:58
标题:
关于缓冲的疑点
本帖最后由 沈浩 于 2013-4-29 17:23 编辑
BufferedReader 和BufferedInputStream 我知道实现的原理
但是BufferedWritrer和BufferedOutputStream具体实现过程是怎样的呢?
怎样自定义一个呢?
望高手们回答的详尽点。多谢啦!!!
作者:
付鑫鑫
时间:
2013-4-27 08:53
//第一种方式:读写文件,是从硬盘--读到内存----再写到硬盘里的
//第二种方式:Buffered(缓冲区)是:从硬盘---读到缓冲区----再读到内存里---再写到缓冲区里----再写到硬盘里.只是起到一个过度的作用,只是是觉得很麻烦,呵呵.
//是这样的,因为,从硬盘直接读取到内存很慢,而从缓冲区读到内存很快.
//或许你又会问,不还是要从硬盘读到缓冲区么?不也慢么?是这样的,缓冲区,一次性就从硬盘读取8192个字节,所以....
package net.edu.csdn.forum;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class Demo2 {
public static void main(String[] args) throws Exception {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("a.txt")); //创建缓冲输入流对象,并与文件输入流相关联
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.txt")); //创建缓冲输出流对象,并与文件输出流相关联
int b;
while((b = bis.read()) == -1) { // read()读取一个字节时, 其实已经读取8192个字节到缓冲区了
bos.write(b); // write()写出一个字节时, 没有直接写到文件, 写到缓冲区里了
bis.close(); //关闭流
bos.close();
}
}
}
作者:
黄玉昆
时间:
2013-4-27 22:32
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2