本帖最后由 刘源 于 2012-8-16 22:12 编辑
BufferedInputStream是InputStream缓冲区,那BufferedInputStream到底提高了什么效率,他们的read()一样,
BufferedInputStream:read(byte[] b, int off, int len) 从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。
InputStream: read(byte[] b, int off, int len) 将输入流中最多 len 个数据字节读入 byte 数组。
这2个方法感觉也一模一样,请问到底提高了什么效率。
例如:字符流,BufferedReader里面的readLine(),一样里面有一个一次读一行的缓存,
那BufferedInputStream里面有什么缓冲,如果都是1个字节或者1个字节数组那样读,为什么它的效率就更高呢?
问题:缓存和缓冲区是什么关系,为什么多了个缓存之后读的效率会更高了呢。我知道不用缓存是读一个打印在控制台上一个。
那用了缓存之后,是一次读一堆,放到缓存中呢?还是一次读一个,然后放到缓存中呢?
"问题已解决"
|