本帖最后由 touchthefuturer 于 2014-04-13 15:45:57 编辑

解决方案 »

  1.   

    1. 使用buffer时,无论单字节还是数组读写都是从buffer中读数据或者写数据到buffer,这些操作都在内存中进行,因此差异不会很大。
    2. 不使用buffer时,读写操作直接操控stream或者reader,相当于直接读写磁盘;数组读写相对于单字节来说相当于批量读写,因此速度会快,但相对于使用buffer来说,应该会慢不少,至少从读写的稳定性或者cpu的利用率上来说,是不如使用buffer的。
      

  2.   

    第一种和第二种都是直接写的磁盘,区别在于第二种一次往磁盘文件中写入了1024个字节,而第一种方法则需要写1024次,虽然文件流没有关闭,但是读写磁盘,每次都是需要重新向操作系统申请的(具体怎么回事也不清楚。。),这样会消耗更多的资源
    第三种和第四种,其实原理一样,先写到缓存中,然后一次写到磁盘文件,第三种虽然是逐个字节的写,但是buff流是默认会有缓冲的,就是说它不会在你每次写入的时候就写到磁盘中,它只会保存在内存,等流关闭或者你手动flush的时候再写磁盘