Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java在写入文件时获取当前行号_Java - Fatal编程技术网

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

Java在写入文件时获取当前行号,java,Java,我正在编写一个写入文本文件的应用程序。 在该文本文件中,每行开头是行号 如何获取当前行号以便将其写入文件 我想到了一个简单的计数器,但是当我终止并重新启动我的项目时,计数器会重置回1 我试过LineNumberReader,但它一直给我0 在写入文件时,有没有办法获取当前行号 谢谢 try { FileWriter writer = new FileWriter("src\\book_store\\transaction.txt", true); read = new FileR

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

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

我想到了一个简单的计数器,但是当我终止并重新启动我的项目时,计数器会重置回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.");
}
试试看{
FileWriter writer=newFileWriter(“src\\book\u store\\transaction.txt”,true);
read=newfilereader(“src\\book\u store\\transaction.txt”);
行=新行号读取器(已读);
对于(int i=0;i
您犯的错误是,当您通过
FileWriter
写入文件时,您试图使用
FileReader
读取同一文件

如果在每行之后对文件进行fsyncing,这可能会起作用。然而,这不是你真正想做的。正如你从评论中看到的,当你把问题复杂化时,人们会感到困惑


你已经有柜台了。它是
i
循环变量。如果你想从1开始,你可以添加
+1

请发布一些代码好吧,我发布的文件不应该用“行”来描述。文件只是数据。我不太确定你在这里想做什么。您可以执行一个简单的程序来解析\n或System.LineSeparator()的文本文件,并在找到计数器时增加计数器。如果你能为你的输入和期望的输出写一个例子,我可以帮你。你要么读文件,数数行,要么把计数器存储在外部。