2014-01-07 124 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

除了簡單地使用複製方法之外,沒有其他選擇是有效的。

相關問題