2015-09-12 26 views
-1

這是否嘗試使用資源自動關閉? 在它到達結尾之前,它在體內有一個return。 它會自動關閉流嗎?這樣做try-catch-with-resourcers autoclose?

try (FileReader reader = new FileReader(characterFile)) { 
     final SavedPlayer savedPlayer = GSON.fromJson(reader, SavedPlayer.class); 

     return new Login(player, LoginType.SUCCESSFUL); 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return new Login(player, LoginType.INPUT_FAILURE); 
    } 
+2

AFAKI'嘗試與 - resources'有點像'試穿finally',其中關閉操作是保證一定會執行 – MadProgrammer

回答

0

是的。

try-with-resources Statement (Java Tutorials)讀取(部分)

試戴與資源語句確保每個資源在發言結束時關閉。

+0

「在聲明的最後關閉」但有前一回聲明的結尾? – user2997204

+0

無關緊要,它在語句結束時關閉(在這種情況下,'return' **是語句*的結尾*)。 –