我严重陷入了这项任务,试图弄清楚如何在现有行的最后一个字符之后附加文本。
基本上我希望能够定义 alineNumber
并且text
我想附加。我尝试过不同类型的编写器和输出流,但似乎没有一个支持这一点?
我真的需要临时重新创建文件并用附加的文本重新重写它,这看起来很麻烦吗?
您应该可以使用java.io.RandomAccessFile
- 它会将您的文件视为一个大字节数组。这使您可以以随机访问方式写入文件。但是,不幸的是没有删除和插入。这表示:
您没有说明您的动机,但是关于 SO 的其他答案表明有类似问题的人确实需要一个数据库。
或者,也许您可以将文本文件读入一个数据结构,以便于您需要执行的操作,并在完成后将文件写回磁盘。
请使用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);
}