加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java.io.FileWriter是否仅为一次性使用而设计?

发布时间:2020-12-15 02:07:03 所属栏目:Java 来源:网络整理
导读:我正在使用 java.io.FileWriter构建一个不断写入同一文件的程序. 在运行期间,每当我需要更新文件时,我调用一个方法writes “properly”并使用类级别的FileWriter.当FileWriter开始追加到文件而不是覆盖它时,问题从第二次.write调用开始. public class Exampl
我正在使用 java.io.FileWriter构建一个不断写入同一文件的程序.

在运行期间,每当我需要更新文件时,我调用一个方法writes “properly”并使用类级别的FileWriter.当FileWriter开始追加到文件而不是覆盖它时,问题从第二次.write调用开始.

public class Example {
    private FileWriter fw = new FileWriter("file's path",false);

    public void writeToFile(String output) {
        fw.write(output);
        fw.flush();
    }
}

我怀疑FileWriter的“内存”保留了以前写入的数据,但我不想为每次调用关闭并初始化它,因为它似乎很浪费.

>每次.write调用后我甚至都需要.flush调用吗?
>我是否有其他选择,但初始化FileWriter并在每次通话时关闭它?

(我尝试查看较旧的问题,但它们似乎都处理了不会附加的FileWriters,或理论上的FileWriter.flush解释)

解决方法

Writer(其中FileWriter是一个子类)是 documented在面向流的模型中工作,而不是例如随机访问模型.通过相同的Writer实例的连续写入总是附加.要覆盖现有文件,您需要每次都构造一个新的FileWriter实例.无论如何,它实际上是一个相当便宜的操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读