我面临以下情况...在我的文件系统 () 的某个地方,我正在接受来自第三方应用程序的文件。例如在文件夹 c:\temp
这些文件包含特定的元数据,我必须执行以下操作:
a) 根据元数据(所以首先我将解析它们)以 2 级结构重新分配,例如: C:\temp\idXXX\idYYYY\fileZZZ 每个 idYYYY 文件夹可以包含多个文件 每个 idXXX 文件夹可以包含多个文件夹(例如 idYYYY、idYYYYE 等) 在根文件夹中可能有多个 idXXXX 类型的文件夹
b)重新分配这些文件后,我应该在一段时间内监视每个一级目录(idXXXX)的更改
c)如果没有发现任何更改(没有创建其他文件夹/文件),那么我应该将其压缩并将其发送到某处!
d)实现这样一个服务在后台连续运行...只需轮询此根目录
我正在尝试在 java 中找到一个可以管理整个业务场景的库!
有什么想法吗?
最佳答案
使用 WatchService
监视您的目录:
WatchService watchService = FileSystems.getDefault().newWatchService();
WatchKey watchKey = path.register(watchService,
ENTRY_CREATE,
ENTRY_DELETE,
ENTRY_MODIFY);
剩下的只是使用常用的 File
方法来实现您的逻辑。
关于java - 观察文件夹结构的变化并相应地处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26781232/