2016-02-29 88 views
0

我是一個Java應用程序,我需要同步兩個用戶選擇的目錄,源和目標(簡單的本地機器應用程序,不需要考慮任何文件系統或服務器的東西和什麼)的內容。應用程序應將任何新的和已更改的文件從源文件複製到目標文件,並刪除不在源文件但在目標文件中的文件。同步過程需要顯示進度條並且可以取消。如何調用操作系統功能將文件複製到文件夾?

刪除部分我想我必須完全寫,但其他行爲是相同的操作系統功能複製文件從一個目錄到另一個,所以我可以保存自己很多工作,通過使用已經存在的功能。問題是,我不知道如何從Java訪問它。

那麼,如果您選擇某些文件並將它們拖到文件夾圖標上,我該如何讓Java執行與大多數操作系統相同的操作?

+0

您可以運行'rsync'將使用的Runtime.exec() –

+0

要獲得OS做到這一點兩臺機器之間甚至工作,你需要找到合適的命令行工具來做到這一點。 –

回答

1

您可以使用Java的WatchService來查看目錄以瞭解更改。由於您正在使用兩個目錄,因此您需要同時觀察這兩個目錄的更改。

對於進度條和拖放,您需要JavaFX或Swing。

嘗試與本地操作系統調用進行通信將很困難,如果可能的話,取決於平臺。此外,您需要知道操作系統是否真的將這些功能暴露給非OS代碼。

相關問題