继续检查文件中的文本,直到找到它或某个超时

  • 本文关键字:超时 文件 文本 继续 java loops
  • 更新时间 :
  • 英文 :


启动进程后,我需要检查错误日志文件一段时间。找到单词或达到超时,我需要退出,通知找到文本或直到超时才找到文本。我试过下面的方法,但无法实现

public void waitFortext(String expectedText,
String filePath){
long timeout = 50000 + System.currentTimeMillis();
File file = new File(filePath);
String content = FileUtils.readFileToString(file, "UTF-8");
boolean available = false;
while (available || System.currentTimeMillis() > timeout) {
available = content.contains(expectedText);
Thread.sleep(500);
if (available) {
return;
}
}
}`

创建一个变量oldTime,并在需要启动时间时将其设置为System.nanoTime。生成一个变量newTime,并在每次代码循环时将其更新为System.nanoTime。将这两个值的差值与您想要的时间量进行比较,当差值较大时退出循环。

这里的问题是您只读取一次文件。

移动线路

String content = FileUtils.readFileToString(file, "UTF-8");

内部循环(使其成为第一个语句。

最新更新