2014-11-05 34 views
2

我正在編寫一個用於教學目的的Java聊天應用程序。當然,我遇到很多問題,因爲我不是一個有經驗的程序員。我每次使用它時都必須關閉所有資源嗎?

基本上我的問題是:使用後必須關閉EVERY資源(BufferedReader/Writer等)嗎?即使我知道我可能會重用它?

例如:等待用戶輸入文本的客戶端可以重複使用相同的BufferedWriter,或者每次用戶輸入內容並重新關閉時都必須創建它。

+3

關閉它後無法使用它。因此,如果您要重複使用它,請不要在每次使用它時關閉它。 – immibis 2014-11-05 21:25:30

+1

只有當你知道你不會再使用它們的時候才關閉你的資源 – 2014-11-05 21:26:46

+0

我會說「可能」並不是一個足夠的理由來堅持資源。如果你知道*你會使用它,選擇是顯而易見的。你當然不想關閉它,只是爲了立即打開或在不久的將來打開它。 – ChiefTwoPencils 2014-11-05 21:30:15

回答

1

如果您想多次檢查同一個資源,只是在不再使用它的情況下對其進行分類。您可以使用try-with-resources達到此目的:

try (BufferedReader br = new BufferedReader(new FileReader(path))) { 
    return br.readLine(); 
} 
catch (IOException e) {...} 
相關問題