科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java如何快速复制大文件

Java如何快速复制大文件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Java如何快速复制大文件

作者:csdn 来源:csdn 2009年12月17日

关键字: JavaSE 问答 java

  • 评论
  • 分享微博
  • 分享邮件

Java如何快速复制大文件

我希望从本地和远程复制文件,文件都很大,10G级的,如何快速的复制?看网上有人说使用管道到管道,这确实比其他的快,不知道fastcopy是怎样实现的

 

本地远程复制大文件啊,而且还是10G这么大的。你看看迅雷啊,他是多部分一起传的。java传输文件就是一般的文件操作啊,你可以模仿迅雷,开多个线程下载,每个线程记录下载部分的开始和结束索引,一起下到远程去。至于效率有多高,java我还真不敢说,要不迅雷,快车这种工具怎么不用java来开发。 

用FileChannel的transferTo(long position, long count, WritableByteChannel target)方法试试

用FileChannel的transferTo(long position, long count, WritableByteChannel target)方法试试 
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();

本地远程复制大文件啊,而且还是10G这么大的。你看看迅雷啊,他是多部分一起传的。java传输文件就是一般的文件操作啊,你可以模仿迅雷,开多个线程下载,每个线程记录下载部分的开始和结束索引,一起下到远程去。

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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章