Java怎么快速复制大文件
Java如何快速复制大文件我希望从本地和远程复制文件,文件都很大,10G级的,如何快速的复制?看网上有人说使用
Java如何快速复制大文件
我希望从本地和远程复制文件,文件都很大,10G级的,如何快速的复制?看网上有人说使用管道到管道,这确实比其他的快,不知道fastcopy是怎样实现的,各位有什么想法?
[解决办法]
内存文件映射
[解决办法]
学习中..
[解决办法]
学习中......
[解决办法]
用CLOB类型吧,单个变量可以存储4G,再加上BufferedStream.
[解决办法]
本地远程复制大文件啊,而且还是10G这么大的。你看看迅雷啊,他是多部分一起传的。java传输文件就是一般的文件操作啊,你可以模仿迅雷,开多个线程下载,每个线程记录下载部分的开始和结束索引,一起下到远程去。
至于效率有多高,java我还真不敢说,要不迅雷,快车这种工具怎么不用java来开发。
[解决办法]
[解决办法]用nio,比io效率好点
[解决办法]支持
[解决办法]学习中。。。。。。
[解决办法]多线程 + FTP
[解决办法]顶
[解决办法][解决办法][解决办法][解决办法]lz可以test下
Java codeimport java.io.*;import java.nio.*;import java.nio.channels.*;//从得到的耗时结果来看 nio效率高很多!!public class TestFileChannel { /* public static void main(String args[])throws Exception{ ByteBuffer buff=ByteBuffer.allocate(1024); FileInputStream fileIn=new FileInputStream("d:/JavaTests/TestFileChannel.txt"); FileOutputStream fileOut=new FileOutputStream("d:/JavaTests/TestFileChannelOut.txt"); FileChannel in=fileIn.getChannel(); FileChannel out=fileOut.getChannel(); long l=System.currentTimeMillis(); while(in.read(buff)!=-1){ buff.flip(); //把极限设为位置 再把位置设为0 out.write(buff); buff.clear(); //不改变极限 把位置设为0 } System.out.println("Take time:"+(System.currentTimeMillis()-l)+"ms");//31ms in.close(); out.close(); fileIn.close(); fileOut.close(); } */ public static void main(String[] args)throws Exception{ FileInputStream fileIn=new FileInputStream("d:/JavaTests/TestFileChannel.txt"); FileOutputStream fileOut=new FileOutputStream("d:/JavaTests/TestFileOutputStreamCopyTime.txt"); int i; long l=System.currentTimeMillis(); while((i=fileIn.read())!=-1){ fileOut.write(i); } System.out.println("Take time:"+(System.currentTimeMillis()-l)+"ms");//516ms fileIn.close(); fileOut.close(); } }
[解决办法]
顶
[解决办法]
[解决办法]
UP
[解决办法]
学习学习了,这代码真有用,真的能复制东西了,呵呵!!
[解决办法]
其实NIO的主要提高源自共享内存,native code和java code能共享非jvm堆的内存,这是一个最显著的提高
[解决办法]
学习了, 下次自己试一下.
------解决方案--------------------
mm
[解决办法]
学习中~~
[解决办法]
学习!!
[解决办法]
用FileChannel的transferTo(long position, long count, WritableByteChannel target)方法试试
[解决办法]
[解决办法]
期待好的解决方法
收藏了!~
[解决办法]
并不是线程开的越多,速度就越来。
[解决办法]
学习中、、、
[解决办法]
帅
[解决办法]
google一下不就知道了
[解决办法]
...
[解决办法]
学习中。。。。。。
[解决办法]
学习了
[解决办法]
顶!