启动进程后,我需要检查错误日志文件一段时间。找到单词或达到超时,我需要退出,通知找到文本或直到超时才找到文本。我试过下面的方法,但无法实现
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");
内部循环(使其成为第一个语句。