gpt4 book ai didi

java - 通过在java中保持行跟踪来读取文件

转载 作者:行者123 更新时间:2023-11-30 11:44:31 26 4
gpt4 key购买 nike

我有 servlet 可以在某个时间间隔读取我的 jsp 调用 servlet 的日志文件。我想在我的 servlet 中添加功能,以便它从上次读取的最后一行的下一行读取文件。

我有以下代码,但它不起作用

File file = new File("D:\\graph\\temp.log");
FileReader fr = new FileReader(file);
LineNumberReader lnr = new LineNumberReader(fr);\

lnr.setLineNumber(count) // count is the variable keeping track of number of line
previously read.

是否需要一些额外的代码?还是有其他替代方法可以做到这一点?

最佳答案

来自 the documentation :

Note however, that setLineNumber(int) does not actually change the current position in the stream; it only changes the value that will be returned by getLineNumber().

在我看来,您必须从头开始并在循环中调用 readLine,直到 getLineNumber() 大于计数。

像这样:

File file = new File("D:\\graph\\temp.log");
FileReader fr = new FileReader(file);
LineNumberReader lineReader = new LineNumberReader(fr);

// skip the lines you don't need

while (lineReader.getLineNumber() < count) {
lineReader.readLine();
}

// begin processing input here

关于java - 通过在java中保持行跟踪来读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10763646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com