可以参照:MappedByteBuffer, 这个对于读取大文件速度占优势.

解决方案 »

  1.   

    另外,在用bufferedinputstream时,可以对buffersize参数调整一下,设成256K试试,效果肯定不一样.
    当它的buffer设成256K时, fileinputstream设成8k时,前者还是要快一些的.
    256 * 1024,  通过BufferedInputStream读取用时:2135;
    通过InputStream (8K)读取用时:3353两者都为256K时,通过BufferedInputStream读取用时:2220;通过InputStream读取用时:2319我的机器,RAM:8G, x64 win7.
      

  2.   

    3楼+1; BUFFERED缓冲区,是综合下来效率高,而不是读是速度比谁快。
      

  3.   

    通过BufferedInputStream读取用时:51844;通过InputStream读取用时:52941
    读了3G压缩包。
      

  4.   

    上面是8K
    改到800K后通过BufferedInputStream读取用时:35095;通过InputStream读取用时:57786