FIFO处理文件添加到Java中的文件夹

时间:2012-10-16 14:16:12

标签: java file-io

Java中是否有任何方法可以确保FIFO处理添加到文件夹的文件。我正在寻找一个独立于平台的解决方案。我目前正在使用listFiles()中的java.io.File方法从目录中获取所有文件,但我已经读过它不保证使用此方法找到的任何文件顺序。我还想过根据文件的最后修改日期对文件进行排序,但这是不可靠的,并不能确保FIFO。有没有人有任何其他想法?

我必须使用Java 6,Java 7不是一个选项。

1 个答案:

答案 0 :(得分:2)

File.listFiles()方法以未指定的平台相关顺序返回文件。

如果目录中的文件在处理时不会被更改,那么排序File列表应该有效。

如果目录中的文件易于更改,则无法获取文件及其修改时间的“快照”。但您可以使用Java 7 WatchService来跟踪目录添加和文件更改,并使用它来处理目录列表和排序期间和之后发生的更改。


在Java 6中没有与Java 7 WatchService等效的内容。如果您想要这样的事情,您将使用外部程序以正确的顺序将文件名提供给Java,或者使用JNI和本机代码进行交互与OS级文件/目录监视服务。