我的問題是更多的爲什麼類型比如何。Java 7試用資源(AutoCloseable)實現
我知道,在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
塊?難道如果我們沒有擁有它,而不是關閉是危險的嗎?
我似乎是一個重複的http://stackoverflow.com/questions/13836486/why-is-declaration-required-in-javas-try-with-resource?rq=1。所以這個問題已經被問到了,但我不相信它已經得到了回答。 – 2013-04-22 03:48:08