如果目录中的文件数发生更改,请通知Button

只要目录中没有特定数量的文件,我就会禁用一个按钮。 是否有某种监听器在目录中创建或删除文件时通知我?

Java中没有用于文件系统事件和监视的当前原生支持。 JNotify是一个有用的库。 您应该将其设置为监视目录以进行修改,然后确定自己添加/删除的内容。

Java 7将内置文件系统事件支持。

您可能需要考虑的一件事 – 如果您正在侦听创建事件,那么您需要确保在开始阅读之前完全写入文件。 我不确定Java 7将为此问题提供什么类型的支持。

我过去实现了这样的机制,这个特殊的问题需要特殊的处理。 如果您同时控制文件阅读器和编写器,那么您可以使用命名约定等来解决这个问题。(编写器将文件命名为xxx.prt并在文件写完时重命名该文件)。 由于我无法控制编写器,因此我必须添加另一个轮询机制来检查间隔的文件大小,以确保每个新文件实际上都可以读取。 不是一个完美的解决方案,但对我的情况来说足够了。

我的两分钱……