2014-01-07 41 views
0

有Java中的文件复制到各地的100个文件夹的有效途径,而不必使用将文件复制到多个位置

private static void copyFileUsingJava7Files(File source, File dest) 
     throws IOException { 
    Files.copy(source.toPath(), dest.toPath()); 
} 

100倍

+1

你认为使用'Files.copy'效率低下? – Raedwald

+0

为什么不创建100个链接到同一个文件? –

+0

您希望的示例代码块的执行情况有何不同? 你能展示你的数据结构是什么样子吗?实际上调用该方法很简单,甚至可以使用目标列表执行100次。我假设在结构上或者表现上都有一些障碍,你希望避免,但是没有更多的背景,我不知道如何回答 – OYRM

回答

0

我没有一个代码示例为你但认为最有效的方法是设置一个异步操作来处理所有文件副本。

你仍然需要做一些类似于你所拥有的东西,但它不会等待每一个完成,就像你会得到一个标准循环。将它们异步发送出去,让操作系统处理所有任务的杂事,以尽可能快的方式完成任务。

除此之外,如果您要将单个文件复制到多个位置,则可以将文件读入内存,然后将内存文件复制到目标位置。这将有助于避免文件读取速度慢和等待从磁盘读取时可能发生的锁定文件等问题。

0

除了简单地使用复制方法之外,没有其他选择是有效的。

相关问题