2013-11-04 21 views
1

我有一個使用Java在刪除,編輯和更改文件夾中的文件時會發生什麼?

File folder = new File("filesFolder); 
File[] listOfFiles = folder.listFiles(); 

    for(int i = 0; i < listOfFiles.length; i++){//check files and edit} 

要經過的每一個文件夾中的一些特定指令的Java應用程序。如果在文件夾中循環並添加新文件會發生什麼?它會處理這些新文件還是會跳過?

此文件夾不斷更新,新文件將被處理。

+0

爲什麼不在Java 7上使用NIO2? –

+0

使用NIO2有什麼好處? –

回答

2

新文件(在您撥打listFiles()後添加)將被跳過。此外,如果有任何文件在處理之前被刪除,當您嘗試讀取它們時,您會得到一個異常。

這是因爲您的數組listOfFiles不會更改。這只是一組File對象。這是不是以某種方式鏈接到文件系統,除非你implement that yourself

+1

我該如何解決這個問題?我有什麼選擇? –

+0

_新文件將被跳過._?你確定? –

+0

@PaulVargas我很確定。他沒有在目錄中查看更改,所以程序如何可能知道從listFiles()調用後添加的新文件? –

相關問題