【发布时间】:2018-08-30 23:40:16
【问题描述】:
我正在使用ObjectOutputStream 将数据写入文件。以下是代码sn-p。
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f)))
{
oos.writeObject(allObjects);
}
问题:
- 是否需要在try-with-resources中分别拆分OOS和FOS的对象构造?我假设 OOS 在内部也会关闭 FOS。所以上面的代码行应该没问题。
- 我需要显式调用flush吗?
文件损坏后我看到的问题是,在调试时我遇到了上述查询。
【问题讨论】:
-
OOS 在我的 JVM (Oracle) 中的实现会在调用 OOS.close() 时刷新流并关闭它。
-
我正要发和@hovanessyan一样的帖子,自己看总是好的。
-
感谢大家的帮助
标签: java flush fileoutputstream objectoutputstream