gpt4 book ai didi

java - 如何使用Java检测Windows文本文件是否有最近的变化

转载 作者:可可西里 更新时间:2023-11-01 11:28:17 26 4
gpt4 key购买 nike

大家好,我正在用 Java 编写一个小应用程序,它可以读取文本文件并解析内容。我的问题是我的程序将继续读取文件,因为它在一个循环中。我的解决方案是实现类似于我通常在 linux 中做的事情(见下文)

ls -l -ctime 
or
ls -l -atime

它检测上次访问或写入文件的时间如果您的解决方案可以用 Java 或某些 Windows 命令完成,请告诉我。谢谢

更新:

非常感谢您的帮助

韦斯顿解决方案

public static long checkLastFileModification() throws InterruptedException{

File file = new File(fileName);
long lastProcessed = -1;

while (true){
long lastModified = file.lastModified();

if (lastProcessed != lastModified){
lastProcessed = lastModified;
System.out.println("Last accessed : " + lastModified);
//read the file in reverse order

}
else{
System.out.println("No file access.... sleeping for 5 secs ");
Thread.sleep(5000);
}
}

}

最佳答案

您可以检查 last modified time文件的:

new File(fileName).lastModified()

在你的循环中你可以看到它是否不同:

long lastProcessed = -1;
File file = new File(fileName);
while(true) {
long lastModified = file.lastModified();
if (lastProcessed != lastModified) {
lastProcessed = lastModified;
process(file);
}
else {
//some delay or sleep, else you're thrashing the thread and file
}
}

关于java - 如何使用Java检测Windows文本文件是否有最近的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28276598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com