Java如何快速复制大文件

paodan 2009-09-28 09:03:55
加精
我希望从本地和远程复制文件,文件都很大,10G级的,如何快速的复制?看网上有人说使用管道到管道,这确实比其他的快,不知道fastcopy是怎样实现的,各位有什么想法?
...全文
5910 85 打赏 收藏 转发到动态 举报
写回复
用AI写文章
85 条回复
切换为时间正序
请发表友善的回复…
发表回复
yashucn 2012-07-19
  • 打赏
  • 举报
回复
13楼 nio 管用
darkor 2011-05-22
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 youjianbo_han_87 的回复:]

引用 7 楼 hemowolf 的回复:
引用 6 楼 youjianbo_han_87 的回复:

至于效率有多高,java我还真不敢说,要不迅雷,快车这种工具怎么不用java来开发。


楼上的,你见过用 java 开发的运行在 windows 上的桌面应用软件吗


快车这些东西之所以不用 java 做,最大的原因不是它的效率,而是它必须要安装JVM

快车只不过客户……
[/Quote]效率一直都不是java流行的原因,讨论这个,完全没意义
lanchong512 2010-08-26
  • 打赏
  • 举报
回复
这个来说两句:
NIO里面的Chanel不是总是效率最高的, 需要看文件的大小, 上次我做过一个文件分割的程序, 如果文件不是太大的时候BufferStream要好些。 但是如果文件大而且重复运行的时候,NIO优势就明显了。需要说明的是如果中间没有运算只是同机拷贝的话, 单线程是最快的, 线程多了反而会慢。 随机读取用来拷贝文件是最慢的。
pywepe 2010-07-24
  • 打赏
  • 举报
回复
nio 铁定比 io 快
solomonwg 2010-07-24
  • 打赏
  • 举报
回复
路过,学习了
Ade子夜 2010-07-14
  • 打赏
  • 举报
回复
FileChannel的transferTo(long position, long count, WritableByteChannel target)方法试试

顶!!!
hh521dd 2009-10-14
  • 打赏
  • 举报
回复
问题很大啊
hh521dd 2009-10-14
  • 打赏
  • 举报
回复
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();
qkhhimkfrgw 2009-10-14
  • 打赏
  • 举报
回复
刚开始JAVA
sharpidd 2009-10-14
  • 打赏
  • 举报
回复
学习了.
EM265 2009-10-14
  • 打赏
  • 举报
回复
nio还没有BufferedInputStream快
obullxl 2009-10-14
  • 打赏
  • 举报
回复
支持通道,支持NIO.
alps1624 2009-10-14
  • 打赏
  • 举报
回复
mark study
hena05 2009-10-14
  • 打赏
  • 举报
回复
牛人
paodan 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 59 楼 fangqingsan 的回复:]
改进一下遍历算法?
遍历还能有多少算法? 打字打糊涂了还是习惯凑字数?
[/Quote]呵呵,有深度优先遍历,广度优先遍历,递归非递归等,你说有多少种?
jjde588 2009-10-14
  • 打赏
  • 举报
回复
刚开始学 我也不知道
dhz123 2009-10-14
  • 打赏
  • 举报
回复
开它娘的4--5 个线程或是进程一起下,DOWN 下来的再拼起来不就结了.搞那么麻烦干嘛.
xieiyanghui 2009-10-14
  • 打赏
  • 举报
回复
学习中~~~
junying2yu 2009-10-14
  • 打赏
  • 举报
回复
up
liyanjing1987 2009-10-14
  • 打赏
  • 举报
回复
关注!
加载更多回复(61)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧