使用线程将文件从一个目录复制到另一个目录

时间:2019-03-25 15:03:44

标签: java apache-commons java-threads fileutils

我正在尝试将文件从一个目录复制到另一个目录。

但是由于我必须同时复制它们,所以我很高兴使用线程,这样我的软件在复制时不会冻结。

问题在于线程应该(手动)关闭,我不知道复制过程结束时我可以订阅哪个回调。

要完成复制任务,我正在使用Java库apache.commons.io.FileUtils,主要使用函数copyFileToDirectory

我的代码如下:

//Thread to copy files from one place to another
    public void CopyFileFromTo(String file, String fromDirectoryName, String destinationDirectoryName) throws IOException
    {
        //TODO: Establish when the thread has ended, no callbacks for CopyFileToDirectory? :(
        //Copy from file to directory
        Thread t = new Thread(new Runnable()
        {
            @Override
            public void run()
            {                   
            Path src = Paths.get(fromDirectoryName+"\\"+file);
            Path dest = Paths.get(destinationDirectoryName);
            try {
                FileUtils.copyFileToDirectory(src.toFile(),dest.toFile());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
    t.start();
}

0 个答案:

没有答案