3
我對計算器的第一個問題,我退出;)閉幕流連鎖與嘗試,與資源
當使用流鏈它通常是良好的初步實踐,只是關閉了最後一個流鏈中,由於關閉( )操作應該通過鏈的所有流傳播。
將try-with-ressource語句和流鏈接結合起來會被認爲是好的做法嗎?
一)創建try語句裏面的所有數據流:
try (InputStream processIn = p.getInputStream();
InputStreamReader inReader = new InputStreamReader(processIn);
BufferedReader input = new BufferedReader(inReader)) {
.
.
}
或B)只是鏈條的最後一個成員:
InputStream processIn = p.getInputStream();
InputStreamReader inReader = new InputStreamReader(processIn);
try (BufferedReader input = new BufferedReader(inReader)) {
.
.
}
我想這兩個版本將工作進行到底,但我假設a)會產生重複的close()調用,不是嗎?
我沒有考慮可能的初始化問題。每個人閱讀這篇文章也應該閱讀你描述類似問題的第二個鏈接。 這兩種情況在您考慮時都很明顯,但很容易被忽視。 感謝提示! – Johnson