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