2013-11-04 20 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()调用后添加的新文件? –

相关问题