将文本附加到文本文件中的现有行

时间:2013-03-23 12:32:33

标签: java file-io

我严重陷入这个任务,试图找出如何在现有行的最后一个字符后追加文字。

基本上我希望能够定义lineNumbertext我想要追加。我尝试过不同类型的编写器和输出流,但它们似乎都不支持这个?

我是否真的需要临时重新创建文件并使用附加文本重新编写它,这看起来非常麻烦?

2 个答案:

答案 0 :(得分:0)

您应该可以使用java.io.RandomAccessFile - 它会将您的文件视为大量字节。这使您可以以随机访问方式写入文件。但是,遗憾的是没有删除和插入。这意味着:

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

你没有陈述自己的动机,但SO上的其他答案表明有类似问题的人确实需要一个数据库。

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

答案 1 :(得分:-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);
    }