Java 将文本追加到文本文件中的现有行

Java 将文本追加到文本文件中的现有行,java,file-io,Java,File Io,我在这项任务中陷入了困境,试图找出如何在现有行的最后一个字符后追加文本 基本上,我希望能够定义一个行号和我想附加的文本。我尝试过不同类型的编写器和输出流,但它们似乎都不支持这一点 我真的需要重新创建临时文件并用附加的文本再次重写它吗?这似乎很麻烦?请使用java.io包中的类,它将帮助您完成课程。它有跟踪从文本文件中读取的行号的方法,您可以在文本末尾轻松地组合这些行号。 请尝试以下示例代码: LineNumberReader reader = new LineNumberReader(n

我在这项任务中陷入了困境,试图找出如何在现有行的最后一个字符后追加文本

基本上,我希望能够定义一个
行号
和我想附加的
文本。我尝试过不同类型的编写器和输出流,但它们似乎都不支持这一点

我真的需要重新创建临时文件并用附加的文本再次重写它吗?这似乎很麻烦?

请使用java.io包中的类,它将帮助您完成课程。它有跟踪从文本文件中读取的行号的方法,您可以在文本末尾轻松地组合这些行号。 请尝试以下示例代码:

    LineNumberReader reader = new LineNumberReader(new FileReader("e:/abc.txt"));
    String line = null;
    while ((line = reader.readLine()) != null) {
        int lineNumber = reader.getLineNumber();
        System.out.println(lineNumber + " - " + line);
    }

您应该能够使用
java.io.RandomAccessFile
——它会将您的文件视为一个大字节数组。这允许您以随机访问方式写入文件。但遗憾的是,没有删除和插入。这意味着:

  • 在给定的线路上定位自己是不容易的
  • 将文本附加到一行时,将覆盖下一行的开头
你没有说明你的动机,但其他答案表明,有类似问题的人确实需要一个数据库


或者,您也可以将文本文件读入一个数据结构,以方便您执行所需操作,并在完成后将文件写回磁盘。

事实上,我使用的是
LineNumberReader
,但这并不能解决我的附加问题。我添加了一个示例代码,请检查它是否符合您的要求。Ankur,我知道如何提取行等,但我如何附加到该特定行?附加到什么?你的意思是你需要将行号附加到行中并将其写回文件吗?Ankur,正如我在我的问题的第一行中所解释的,我需要将文本附加到现有的特定行中。