我有这段代码来检查是否在某个时间发送了日志行。问题是即使日志行不是我想要的时间(比如“稍后”然后搜索时间),文件指针也会超出。只有当该行最终被带到answer List<String>
@Override
public List<String> getForMinuteTimeFrame(LocalTime currentTime) {
List<String> lines = new ArrayList<>();
String line = null;
while ((line = randomAccessFile.readLine()) != null) {
if (fetchTime(line).isEqual(currentTime)) {
lines.add(line);
}
}
return lines;
}
我怎样才能优雅地做到这一点?输入文件非常大(~250 MB),所以我逐行阅读。