1

使用 PrintWriter 写入 txt 文件。但是现在我有一个问题:我写了几行之后可以从顶行写吗?例如,我写过:

PrintWriter out = new PrintWriter("result.txt");
out.print("first line");
out.print("second line");

那么,我可以从第一行写回来吗?所以我可以在第一行之前写 String top = "top line",如下所示:

top line
first line
second line

问题是,我只有在写了“顶行”和“第二行”之后才能得到String top的内容。如何写入文件的开头?

谢谢!

4

2 回答 2

2

实现这一点的一种简单方法是将整个文件作为字符串读取,将您的前缀行附加到它的开头,然后使用 PrintWriter 对象用字符串的内容覆盖文件的内容。这不完全是你想要的,但它具有完全相同的效果。:)

于 2013-02-25T23:16:40.097 回答
0

使用RandomAccessFile类及其seek方法,但 write on top 不会插入行而是覆盖它们。这不是你想要的。我同意JB Nizet的评论,最好是先计算,然后再写。

如果你知道第一行的大小,你必须写 'XXXXXXXXXXXXXXX' 来填充它,在写完其他行之后,回到顶部并用相同数量的字符替换它。可能但不推荐。

于 2013-02-25T22:06:04.990 回答