java jfilechooser 保存_如何使用JFileChooser在Java中保存文件?

如果您使用Java 7,请尝试使用资源.这是你会怎么做的

try(FileWriter fw = new FileWriter(chooser.getSelectedFile()+".txt")) {

fw.write(sb.toString());

}

尝试用资源自动调用close()失败或成功.

如果你不使用Java 7,不要忘了调用close(). close()将自动调用flush().

...

fw.close();

...

要理解为什么需要刷新,您需要了解FileWriter的工作原理.当你说fw.write(“blah”)时,它实际上将该字符串放入内存中的缓冲区.填写缓冲区后,FileWriter将字符串写入硬盘.它具有这种行为,因为在大块中编写文件效率更高.

如果要在缓冲区达到容量之前清空缓冲区,则需要通过调用flush()来告诉FileWriter.当通过互联网进行通信时,调用flush()也可能非常重要,因为在另一端可以看到您的消息之前需要刷新.如果你的消息只是坐在记忆中,它不会很好用.

完成任何I / O流后,您应该调用close()(除标准I / O流之外).这意味着操作系统不再需要维护此流.在某些情况下,可以打开数量有限的数据流,如文件,所以非常重要的是,您不要忘记关闭.

当你关闭时,它实际上做了两件事:它清空缓冲区,然后关闭流.这是为了确保在流关闭之前没有任何东西被遗留下来.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值