java - 观察文件夹结构的变化并相应地处理文件

标签 java file jakarta-ee

我面临以下情况...在我的文件系统 () 的某个地方,我正在接受来自第三方应用程序的文件。例如在文件夹 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/

相关文章:

java - 为什么我无法使用 BufferedReader 从文本文件中读取整数?

c - 如何调试我的 C 代码导致段错误的原因?

php - 如何将不带换行符的字符串连接到 MySQL 中?

c# - 在一个exe中包含另一个exe

java - CDI——处理错误

java - 如果我的 Servlet 实例变量是 StringBuffer 类型,它是线程安全的吗?

java - 按相关实体筛选 Hibernate 条件

java - 使用 Java 在网页中的众多可能选项中选择一个

Java 在 - 和 + 基础上拆分

java - 使用 Comparator 排序时,Content 已经有一个现有的父级