我有一个程序可以解析日志文件中的最后一小时数据并将其保存在另一个文件中。我需要保持条件运行,直到程序找到一小时的数据。一小时数据将由服务器写入日志文件中。
在找到一小时数据之前,如何保持状态运行?
ReversedLinesFileReader reverse= new ReversedLinesFileReader(file);
PrintWriter writer= new PrintWriter(f2+"/"+fileName1); ;
String line;
while ((line = reverse.readLine()) != null) {
List<String> stringList = Arrays.asList(line);
if(line.contains(Constants.SPEEDO)) {
timeFromLine = getTimeFromLine(line);
timeFromSystem= getSystemTime();
timeGap= propertiesReader.getPropertyValue("timeGap");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
timeLine= format.parse(timeFromLine);
timeSystem=format.parse(timeFromSystem);
timeGapDate=format.parse(timeGap);
startTimeLong=timeSystem.getTime();
timeGapLong=timeGapDate.getTime();
endTimeLong=startTimeLong-timeGapLong;
Date d= new Date(endTimeLong);
endTimeString= format.format(d);
endTimeDate1=format.parse(endTimeString);
if(timeLine.before(timeSystem)&&timeLine.after(endTimeDate1)) {
writer.println(line);
}
}
}
writer.close();
reverse.close();
答案 0 :(得分:0)
感谢@Thomas,我使用轮询间隔在一个间隔中运行代码。 您可以在此link
中找到完整的示例程序 final long pollingInterval = 5000