高效的文件拷贝之MappedByteBuffer
来源:互联网 发布:网易云音乐for mac 编辑:程序博客网 时间:2024/04/30 03:02
我们经常对文件进行操作,但是效率却一般。最近在研究MappedByteBuffer的用法,下面是例子:
void MappedByteBufferTest() { try { RandomAccessFile source = new RandomAccessFile("F:\\cmb-flume\\flume\\logs\\relog\\paas0.log", "r"); RandomAccessFile target = new RandomAccessFile("F:\\cmb-flume\\flume\\logs\\relog\\1.log", "rw"); FileChannel in = source.getChannel(); FileChannel out = target.getChannel(); long size = in.size(); MappedByteBuffer mbbi = in.map(FileChannel.MapMode.READ_ONLY, 0, size); MappedByteBuffer mbbo = out.map(FileChannel.MapMode.READ_WRITE, 0, size); long start = System.currentTimeMillis(); for (int i = 0; i < size; i++) { byte b = mbbi.get(i); mbbo.put(i, b); } source.close(); target.close(); System.out.println("Spend: " + (System.currentTimeMillis() - start) + "ms"); } catch (Exception e) { // TODO: handle exception }}打印:Spend: 170ms
paas0.log的大小是197M,耗时170毫秒,换算一下1毫秒可以读取1.15M。1秒钟的话可以读取1.13G大小的文件。
1 0
- 高效的文件拷贝之MappedByteBuffer
- java nio 之MappedByteBuffer,高效文件/内存映射
- java nio 之MappedByteBuffer,高效文件/内存映射
- java nio 之MappedByteBuffer,高效文件/内存映射
- java nio 之MappedByteBuffer,高效文件/内存映射
- java nio 之MappedByteBuffer,高效文件/内存映射
- java nio 之MappedByteBuffer,高效文件/内存映射
- Java NIO之MappedByteBuffer,高效文件内存映射
- 高效的文件拷贝
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
- 高效的大文件拷贝
- 高效的大文件拷贝
- 高效的大文件拷贝
- 使用MappedByteBuffer读取大文件(1G以上)和释放MappedByteBuffer的资源
- NIO之MappedByteBuffer内存映射文件I/O
- MappedByteBuffer+RandomAccessFile读写文件
- jquery.cookie.js 1.4.1
- linux设备驱动归纳总结(三):3面向对象思想和lseek
- sping Ioc原理及模拟实现
- Apache配置反向代理
- 什么是分布式--别被概念吓到
- 高效的文件拷贝之MappedByteBuffer
- Python中lambda表达式学习
- SynchronizedMap和ConcurrentHashMap的深入分析
- java多线程学习--java.util.concurrent
- 【LEETCODE】143- Reorder List [Python]
- 查看 SELinux状态及关闭SELinux
- 调试Android WebView
- sublime text3 常用插件
- 进一步封装highchart,打造自己的图表插件:jHighChart.js