Java NIO写大文件对比(win7和mac)
写2G文件,分批次写入,每批次写入128MB;分别在Win7系统和MacOS系统下运行测试。理论上跟硬盘类型和配置也有关系,这里不再贴出了。为了降低这种风险,避免用MappedByteBuffer写超大文件,可以把大文件分割成几个小文件,但不能太小ByteBuffer的rewind()方法将position属性设回为0,因此可以重新读取buffer中的数据;limit属性保持不变,因此可读取的字节数不变ByteBuffer的flip()方法将一个Buffer由写模式切换到读模式ByteBuffer的clear()和compact()可以在我们读完ByteBuffer中的数据后重新切回写模式。不同的是clear()会将position设置为0,limit设为capacity,换句话说Buffer被清空了,但Buffer内的数据并没有被清空。
下载地址
用户评论