2014-05-05 52 views
0

我在問一個Java代碼。Java:如何每次在文件夾中生成文件時自動複製文件?

ERP在文件夾中生成XML文件,每個文件夾都有不同的名稱。

對於數據的提取,我需要:

如果生成新文件:

  1. 複製文件從主文件夾的次級文件夾

  2. 重命名根據本文件「temp」

  3. 從「temp」提取ETL(Talend)數據

  4. 刪除文件「TEMP」

我的問題是: 如何以每次一個複製或重命名它捕捉automaticaly文件與Java產生?

感謝

+0

我回答了[前些時候類似的問題](http://stackoverflow.com/a/16251508/2071828) - 查看目錄中的更改。這些幫助有用? –

+0

確切地說,我需要的是監視文件夾中新增文件的監視服務。我如何獲得新增文件的名稱?通過Watch Key? – Mikahel

回答

0

你將不得不運行帶有無限循環的手錶業務繼續檢查,如果該文件夾已經改變

那裏有關於如何做到這一點here

變更後觸發寫一個更好的解釋功能可將文件複製,重命名並粘貼到新的「臨時」文件夾中。 你可以使用filereader & filewriter來做到這一點。

+0

所以我需要的是一個監視服務器,監視文件夾中的新文件的添加,就是這樣嗎?如何通過Watch Key獲取文件的名稱? – Mikahel

+0

@Mikahel可能讀了[Javadoc for'Path'](http://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html)? –

+0

Watchservice在我的電腦上完美運行。問題是,它需要Java 7,並且該公司仍然在Java 6上運行,所以沒有java.nio庫...另一種類似於watchservice的解決方案? – Mikahel

-1

使運行每隔x分鐘作業和檢查修改/只的文件在最後x分鐘創建。

+0

不需要投票。這浪費了CPU週期,並且遠遠低於手錶服務方法的響應速度。 –

相關問題