声明由java管理的资源的自变量尝试使用资源语句

时间:2014-07-22 13:15:38

标签: java file-io java-7 try-with-resources

以下两个选项之间是否存在语义差异?在自动资源管理方面,其中任何一个都比另一个更安全吗?

选项1:

 try ( ObjectInputStream in = new ObjectInputStream(new
          FileInputStream("fooFile")) ) {
     ...
    }

选项2:

 try (FileInputStream fin = new FileInputStream("fooFile");
             ObjectInputStream in = new ObjectInputStream(fin)) {
            ...
   }

1 个答案:

答案 0 :(得分:1)

见这里:http://www.stackoverflow.com/a/21348893/1419315

基本上,有一个变量,即FileInputStream.close ()的构造失败时,ObjectInputStream将不会被调用。