在Java中,假设我有一个具有n行的文本文件,是否可以只写和替换行x?还是我重写所有行以编辑任何行?在Java中写入文件中的第x行
看来,我有使用RandomAccess的文件中读取X-1行,然后调用
f.writeChars(str+"\n");
将这项工作?但它也不会删除现有的第x行..
在Java中,假设我有一个具有n行的文本文件,是否可以只写和替换行x?还是我重写所有行以编辑任何行?在Java中写入文件中的第x行
看来,我有使用RandomAccess的文件中读取X-1行,然后调用
f.writeChars(str+"\n");
将这项工作?但它也不会删除现有的第x行..
如果您不更改行长度,则可以简单地覆盖原始数据。
如果您需要更改行长或在文件中间添加(或删除)一行,则需要重写从该点开始直到结束的所有数据。
请参阅RandomAccessFile。
它不会很漂亮,虽然因为如果你开始在给定的位置写下你覆盖的东西,那么你可能不得不在这个点之后保存和重写所有东西(也就是说,你不能在那里插入文本)。
回复:您的编辑: 它将删除现有的行,也许更多(或更少),具体取决于行的长度。