Windows 2008上的Java日志文件解析器无法使用file.lastModified

Windows 2008上的Java日志文件解析器无法使用file.lastModified,java,log4j,windows-server-2008-r2,Java,Log4j,Windows Server 2008 R2,我们使用的是一个用Java编写的简单日志文件解析器。日志文件是使用log4j.properties编写的。解析器依靠File.lastModified()来选择目录中的文件列表,以检查文件中是否有任何错误 这是一个工作文件,直到我们移动到Windows 2008。在谷歌搜索之后,我发现这可以解释这种行为 到目前为止,我还没有找到解决这个问题的办法。我的另一个选择是每次轮询器检查文件时存储文件大小,并将当前文件大小与以前存储的值进行比较 有人能提出一个更简单的想法吗?如果其他人面临同样的问题,就把

我们使用的是一个用Java编写的简单日志文件解析器。日志文件是使用
log4j.properties
编写的。解析器依靠
File.lastModified()
来选择目录中的文件列表,以检查文件中是否有任何错误

这是一个工作文件,直到我们移动到Windows 2008。在谷歌搜索之后,我发现这可以解释这种行为

到目前为止,我还没有找到解决这个问题的办法。我的另一个选择是每次轮询器检查文件时存储文件大小,并将当前文件大小与以前存储的值进行比较


有人能提出一个更简单的想法吗?

如果其他人面临同样的问题,就把它放在这里告诉他们。在我的例子中,出现了一个代码问题,文件句柄没有正确关闭。我曾经看到过文件中任何不需要的打开句柄。

我知道将注册表HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate值更新为0是一个解决方案。但我不太热衷于在生产机器上进行这种改变。有人认为这有问题吗?