是否有一种方法可以在每次文件更改时以某种方式触发一个事件?我是指类似的东西(在伪代码中)
if(DetectedFileModified(pathToFile)){ do stuff }
我知道我可以周期性地做,但我能在没有计时器的情况下做吗?我希望在用户更新txt文件时(不是通过代码,而是通过打开文件并在里面写入)能够做出一些动作,但我不知道他什么时候会这么做。
你需要一个手表服务
WatchService API的级别相当低,允许您对其进行自定义。您可以按原样使用它,也可以选择在这个机制之上创建一个高级API,以便它适合您的特定需求。
甲骨文博客
各位好心读到这篇文章的人好啊。 我正在使用一个Java程序,我没有制作它,但是我正在改进它,问题是你可以添加文件,但是我想验证,这样添加的文件就不会被压缩成任何人类已知的格式,所以我不想让人们能够添加zip文件、rar文件、7z文件、gz文件等等。 *编辑:IT学生使用的程序,他们添加源代码的文件(.java,.class,.php,.doc,.mdb),路径保存在字符串中,最后,程序压缩文件,并
问题内容: 我有一个在控制台上运行的程序,其Umlauts和其他特殊字符在Mac上输出为?。这是一个简单的测试程序: 在默认的Mac控制台(使用默认的UTF-8编码)上,将打印: 但是在将Mac终端的编码手动设置为“ Mac OS Roman”后,它可以正确打印 请注意,在Windows系统上,使用System.console()可以工作: 那么,如何使我的程序… rolleyes …“无处不在”
问题内容: 我正在尝试在Python程序中使用一种方法来检测文件系统上的文件是否已被修改。我知道我可以每隔5秒运行一次以检查系统的上次修改日期,但是我很好奇是否有更简便的方法可以执行此操作,而无需我的程序反复检查。 有人知道这种方法吗? 问题答案: 对于linux,有pyinotify。 从首页: Pyinotify是一个用于监视文件系统更改的Python模块。Pyinotify依赖于称为inot
问题内容: 我想检测何时文本框的内容已更改。我可以使用keyup方法,但是它也可以检测不会产生字母的击键,例如箭头键。我想到了使用keyup事件执行此操作的两种方法: 仔细检查所按键的ASCII码是否为字母\退格\删除 使用闭包来记住按键之前文本框中的文本,并检查是否已更改。 两者看起来都很麻烦。 问题答案: 开始观察“输入”事件而不是“改变”事件。 …很干净,但可以扩展到:
问题内容: 有没有一种方法可以使用Java检测文件重命名?(NIO的WatchService API或任何其他)从重命名文件时我看到的是,发生了两个单独的事件- ENTRY_DELETE和ENTRY_CREATE。 问题答案: 看看jpathwatch。除了Java 7()中指定的标准监视事件类型外,它还具有其他称为的事件,这些事件在重命名文件时将触发。请注意,这取决于基础操作系统是否支持文件重命
问题内容: 我试图找到一种聪明的方法来找出传递给sed的文件是否已成功更改。 基本上,我想知道文件是否已更改,而不必查看文件修改日期。 我之所以需要这样做,是因为如果sed成功替换了模式,我需要做一些额外的事情。 我目前有: 上面的代码有点贵,我希望能够在这里使用一些技巧。 问题答案: 您可以改用: ” 我忽略了该功能:您可以根据需要使用Shell做重定向。 叹。下面有许多评论要求提供有关shel