[英]How to “peek” with randomAccessFile?
我有这段代码来检查是否在某个时间发送了日志行。 问题是,即使日志行不是我想要的时间,文件指针也会超过(说“以后”然后搜索时间)。 我只想将文件指针最终添加到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),所以我逐行阅读。
您应该能够使用“ randomAccessFile.getFilePointer()”获取当前文件点,并在每次成功读取您关心的行时将其存储。 然后,在返回之前,可以使用randomAccessFile.seek()将当前文件的位置设置回该位置,并传递从getFilePointer()获得的值。 这会将读取点恢复到读取最后一行之前的状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.