java复制大文件
来源:互联网 发布:57是什么意思网络用语 编辑:程序博客网 时间:2024/05/16 13:45
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import java.math.BigDecimal;import java.nio.ByteBuffer;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;public class Main {/** * @param args * @throws FileNotFoundException */public static void main(String[] args) throws FileNotFoundException {// TODO Auto-generated method stubString fileName = "E:/迅雷下载/dota2/Dota2.7z.001";String fn = "E:/Dota2.7z.001";int SIZE = 0x400;File file = new File(fileName);File file2 = new File(fn);FileChannel fc = new RandomAccessFile(file, "r").getChannel();FileChannel fc1 = new RandomAccessFile(file2, "rw").getChannel();ByteBuffer rBuffer = MappedByteBuffer.allocate(SIZE);ByteBuffer wBuffer = MappedByteBuffer.allocate(SIZE);long start = System.currentTimeMillis();double read = 0.0;double bd=0.0;try {System.out.println(fc.size());int num = 0;while ((num = fc.read(rBuffer)) != -1) {//rBuffer.flip();fc1.write(wBuffer.wrap(rBuffer.array()));rBuffer.clear();read+=num;bd=new BigDecimal((read/file.length())*100).setScale(2,BigDecimal.ROUND_FLOOR).doubleValue();System.out.println(bd+"%");}long end = System.currentTimeMillis();System.out.println(end - start);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
0 0
- 【java大文件复制】
- java复制大文件
- java复制大文件
- java操作大文件复制
- Java多线程复制大文件
- Java 复制大文件方式FileChannel 用法
- Java关于大文件分批复制
- 复制大文件
- 大文件复制
- 复制大文件1
- 复制大文件
- Java复制、读取大文件的固定套路
- java大文件复制最高效方法:多线程FileChannel
- C#FileStream复制大文件
- C#FileStream复制大文件
- C#FileStream复制大文件
- 解读IO复制大文件
- mmap实现大文件复制
- redis 搭建主从
- uva 10603倒水问题(搜索 隐式图的最短路 )
- java协变函数
- 《淘宝技术这十年》读书笔记 (四). 分布式时代和中间件
- LVM原理及PV、VG、LV、PE、LE关系图
- java复制大文件
- javascript中遍历List集合对象
- 浅谈形参和实参
- WebSpehre Message Broker 数据库操作
- 设置post方法的编码
- SQL基本架构
- USB协议
- 【java、Spring MVC】微信获取周边营业厅、自动回复消息
- java nio的一个严重BUG