我的问题更多的是为什么类型而不是如何.
我知道在Java 7中有以下工作:
try (
FileInputStream in = new FileInputStream(source);
FileOutputStream out = new FileOutputStream(target);
) {
.....................
} catch (......) {
...............
}
以下是语法错误:
FileInputStream in;
FileOutputStream out;
try (
in = new FileInputStream(source);
out = new FileOutputStream(target);
) {
.....................
} catch (......) {
...............
}
我很好奇为什么Closable / Autoclosable引用对try块是本地的如此重要?如果我们不拥有它而不是关闭它是危险的,这只是逻辑吗?