硬件读一个字节,写入内存,然后回来再读一个 ,再写入。效率很低,,因为磁头需要来回的擦入,操作系统里面有一个关于硬盘读写最优的一个原则,就是最短路径优先,也就是磁头来回擦的路径优先,一个一个读,然后再一个一个写,磁头是需要来回擦入的,效率也就降下来了。我们再看,有缓冲区的如果可以一直读硬盘,读了之后临时存储在缓冲区对象封装的数组中,然后以下子,写出去,那样磁头就不需要来回的擦入,也就尽最大可能的满足最短路径优先,那样就非常高效率了。这也是为什么缓冲区对象,有readLine的原因,
当然如果没有缓冲区,一个好的硬盘,读写效率也是会快很多的。尽管硬盘的读写效率达到内存速率,没有缓冲区的还是要慢很多,因为不满足最短路径优先。
|