在Java中观看文件系统的最快方法

时间:2013-05-10 13:30:02

标签: java

我知道org.apache.commons.io.monitor,但有没有更简洁,更简约的方式来监视文件系统上特定目录中的新/已更改文件?例如。一些成语在50-100行代码范围内?

2 个答案:

答案 0 :(得分:5)

如果您对使用Java 7感到满意,请查看新的FileSystem API

E.g。来自该链接的代码:

import static java.nio.file.StandardWatchEventKinds.*;
Path dir = ...;
try {
    WatchKey key = dir.register(watcher,
                           ENTRY_CREATE,
                           ENTRY_DELETE,
                           ENTRY_MODIFY);
} catch (IOException x) {
    System.err.println(x);
}

答案 1 :(得分:-1)

正如您所指出的,commons.io在org.apache.commons.io.monitor中提供了一个文件监控类包,您可以使用它来构建自己的文件监控类(仅63 lines of example code包括main())。它是开源的,因此如果您不想包含整个库并且不想使用Java 7(或更高版本),则可以从那里提取代码。

使用Java 7 FileSystem WatchService非常容易(也更有效率)(请参阅此处的45 lines of example code)。