【发布时间】:2016-05-31 13:38:13
【问题描述】:
检测文件写入或修改很容易,但我想不出检测文件读取的方法。这是场景。
程序 X(我无法控制)读取 Sample.text 并修改它。需要注意的是,程序 X 在 READ 之后立即关闭流。
我要编写一个程序来记录从读取到修改 Sample.txt 的持续时间/时间。例如,程序 X 在下午 5:00 读取 Sample.txt,并在晚上 7:25 对其进行修改,因此总持续时间为 2 小时 25 分钟。
是否有软件包或解决方法来检测程序 X 何时/是否读取了 Sample.txt?请注意 READ 是我想要检测的内容,因为 java.nio.file 可以检测到文件修改。
【问题讨论】:
-
我会相当惊讶......如果这可能的话;除此之外,如果 jvm 能够提供这样一个真正适用于 java 运行平台的解决方案。
-
这是用于生产环境还是用于调试?你的用例让我觉得你想知道为什么 X 程序在读取和修改之间需要这么长时间。如果我是对的,你需要的是一个分析器,而不是像 WatchService 这样的 java API(它确实不包含任何观看读取的内容)。
-
您可以在操作系统级别编写自己的 IO 拦截器,就像杀毒软件一样,并使用 JNI 调用它。不容易,但有可能。但我真的认为你不需要这样的东西。
标签: java database eclipse windows multithreading