我正在编写一个写入文本文件的应用程序。 在此文本文件中,每行的开头是行号
如何获取当前行号,以便可以将其写入文件中?
我想到了一个简单的计数器,但是当我终止并重新启动项目时,计数器将重置为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.");
}
答案 0 :(得分:0)
您犯的错误是,当您通过FileWriter
写入文件时,尝试使用FileReader
读取同一文件。
如果您在每一行之后对文件进行同步,则这可能会起作用。但是,这不是您真正想要做的。正如您从评论中看到的那样,当您使问题复杂化时,人们会感到困惑。
您已经有柜台。这是i
循环变量。如果要从1开始,则可以添加+1
。