bar*_*ssa 0 java objectinputstream
我FileInputStream第一次使用a 并尝试Item从文件加载objects().
这是我的代码:
try {
FileInputStream fi = new FileInputStream(f);
ObjectInputStream reader = new ObjectInputStream(fi);
while (true) {
Item i = (Item)reader.readObject();
System.out.println(i.getName());
}
} catch (Exception e) {
System.out.println(e.toString());
}
Run Code Online (Sandbox Code Playgroud)
我已经读过这是执行它的标准方法,代码工作正常.然而,这种方式fi并reader永远不会关闭,因为编译器跳转到catch只要一个块EOFException被抛出.
编译器不会让我关闭fi,并reader在catch或finally块.这真的是它应该如何吗?如何正确关闭输入对象?
您可以使用try-with-resources语句,它将如下所示:
try (FileInputStream fi = new FileInputStream(f);
ObjectInputStream reader = new ObjectInputStream(fi)) {
while (true) {
Item i = (Item)reader.readObject();
System.out.println(i.getName());
}
} catch (Exception e) {
System.out.println(e.toString());
}
Run Code Online (Sandbox Code Playgroud)
以下是有关此方法的更多信息的文档.
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |