0

我严重陷入了这项任务,试图弄清楚如何在现有行的最后一个字符之后附加文本。

基本上我希望能够定义 alineNumber并且text我想附加。我尝试过不同类型的编写器和输出流,但似乎没有一个支持这一点?

我真的需要临时重新创建文件并用附加的文本重新重写它,这看起来很麻烦吗?

4

2 回答 2

0

您应该可以使用java.io.RandomAccessFile- 它会将您的文件视为一个大字节数组。这使您可以以随机访问方式写入文件。但是,不幸的是没有删除和插入。这表示:

  • 没有简单的方法可以将自己定位在给定的线上。
  • 当您将文本附加到一行时,您将覆盖下一行的开头。

您没有说明您的动机,但是关于 SO 的其他答案表明有类似问题的人确实需要一个数据库。

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

于 2013-12-18T21:26:44.290 回答
-1

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

    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);
    }
于 2013-03-23T12:52:01.467 回答