在Java中,假设我有一个n行的文本文件,是否可以只写入并替换x行?还是为了编辑任何一行而重写所有行?
我似乎已经使用RandomAccess文件读取x-1行,然后调用
f.writeChars(str+"\n");
这行得通吗?但它也不会删除现有的第x行。。
请参阅RandomAccess文件。
但这并不好看,因为如果你在一个给定的位置开始写作,你就会覆盖那里的任何内容,所以在那之后你可能不得不保存并重写所有内容(也就是说,你不能只是在其中"插入"文本)。
回复:您的编辑:它将删除现有的行,根据行的长度可能会删除更多(或更少)。
如果不更改行长度,可以简单地覆盖原始数据。
如果您需要更改行长度,或在文件中间添加(或删除)一行,则需要重写从该点开始直到结束的所有数据。