java randomaccessfile pipe closed_使用RandomAccessFile清除Java中文件的内容

我正在尝试清除我在Java中制作的文件的内容。该文件是通过PrintWriter调用创建的。我在这里读到可以使用RandomAccessFile这样做,而在其他地方读到,实际上它比调用一个新的PrintWriter并立即关闭以用空白文件覆盖该文件更好。

但是,使用RandomAccessFile不起作用,并且我不明白为什么。这是我的代码的基本轮廓。

PrintWriter writer = new PrintWriter("temp","UTF-8");

while (condition) {

writer.println("Example text");

if (clearCondition) {

new RandomAccessFile("temp","rw").setLength(0);

// Although the solution in the link above did not include ',"rw"'

// My compiler would not accept without a second parameter

writer.println("Text to be written onto the first line of temp file");

}

}

writer.close();

运行与上述代码等效的操作,为我的临时文件提供内容:(

让我们想象程序在遇到clearCondition之前循环了两次)

Example Text

Example Text

Text to be written onto the first line of temp file

注意:清除文件后,编写者需要能够再次将“示例文本”写入文件。clearCondition并不意味着while循环会中断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值