Java写入文件时获取当前行号

时间:2019-01-27 22:41:25

标签: java

我正在编写一个写入文本文件的应用程序。 在此文本文件中,每行的开头是行号

如何获取当前行号,以便可以将其写入文件中?

我想到了一个简单的计数器,但是当我终止并重新启动项目时,计数器将重置为1。

我尝试了LineNumberReader,但是一直给我0。

写入文件时,有什么方法可以获取当前行号?

谢谢

try {
    FileWriter writer = new FileWriter("src\\book_store\\transaction.txt", true);
    read = new FileReader("src\\book_store\\transaction.txt");
    line = new LineNumberReader(read);

    for(int i = 0; i < output.size(); i++) {
        line.readLine();
        temp = line.getLineNumber() + " " + timeStamp2 + " " + output.get(i) + " " + timeStamp + "\n";
        output.set(i, temp);
        writer.write(output.get(i));
    }

    writer.close();
    read.close();
    line.close();
} catch (IOException ex) {
    System.out.println("File not found.");
}

1 个答案:

答案 0 :(得分:0)

您犯的错误是,当您通过FileWriter写入文件时,尝试使用FileReader读取同一文件

如果您在每一行之后对文件进行同步,则这可能会起作用。但是,这不是您真正想要做的。正如您从评论中看到的那样,当您使问题复杂化时,人们会感到困惑。

您已经有柜台。这是i循环变量。如果要从1开始,则可以添加+1