【问题标题】:Is calling flush onFileOutputStream enough?在 FileOutputStream 上调用 flush 就够了吗?
【发布时间】:2011-11-14 07:13:06
【问题描述】:

所以我们当然必须 try-catch-finaly 任何可关闭的资源。

但我遇到了一些代码如下:

java.util.Properties myProps = ... reads & loads (and doesn't close Stream!) 
myProperties.store(new FileOutputStream(myFilePath), null);
System.exit(0);

java.util.Properties.store() 刷新底层流(FileOutputStream) 这够了吗? 你能想到文件不会被写入的场景吗?假设方法通过并且'store'中没有抛出异常

【问题讨论】:

    标签: java flush fileoutputstream


    【解决方案1】:

    在这种特定情况下就足够了,但它仍然是非常糟糕的做法。 FileOutputStream 应该关闭, 而不仅仅是刷新。

    【讨论】:

      【解决方案2】:

      如果您不想打开文件引用,我会关闭流。刷新仅确保将所有更改写入文件。

      【讨论】:

      • System.exit()之后不能有任何打开的文件引用。
      猜你喜欢
      • 1970-01-01
      • 2015-10-06
      • 2011-03-08
      • 2011-01-05
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      相关资源
      最近更新 更多