2011-05-29 33 views
1

在Java中,假设我有一个具有n行的文本文件,是否可以只写和替换行x?还是我重写所有行以编辑任何行?在Java中写入文件中的第x行

看来,我有使用RandomAccess的文件中读取X-1行,然后调用

 
f.writeChars(str+"\n"); 

将这项工作?但它也不会删除现有的第x行..

回答

0

如果您不更改行长度,则可以简单地覆盖原始数据。

如果您需要更改行长或在文件中间添加(或删除)一行,则需要重写从该点开始直到结束的所有数据。

1

请参阅RandomAccessFile

它不会很漂亮,虽然因为如果你开始在给定的位置写下你覆盖的东西,那么你可能不得不在这个点之后保存和重写所有东西(也就是说,你不能在那里插入文本)。

回复:您的编辑: 它将删除现有的行,也许更多(或更少),具体取决于行的长度。