使用對象,我們使用3個基本步驟:嘗試與 - 資源的詳細信息
- 宣言
- 實例化
- 初始化
我的問題是關於什麼必須完成的步驟()
嘗試使用的一部分,以便自動關閉要創建的資源。 -
實施例1將物體的FileReader被自動在該代碼封閉:
try (BufferedReader br = new BufferedReader(new FileReader(filePath)))
{
//some code;
}
實施例2 - 將BUF2是汽車在此代碼封閉:
private static BufferedReader buf1;
public static void main(String[] args) throws IOException {
//some code
try (BufferedReader buf2 = buf1)
{
}
}
P.S.有人認爲這個問題是Try With Resources vs Try-Catch的重複。不是這樣。這個問題是關於try-catch和try-with-resources之間的區別。我的問題是關於試用的細節。
聽起來像一個家庭作業問題,但這裏有個提示:try-with-resources *要求*聲明的變量實現'AutoCloseable',並且會在隱式finally塊中調用'close()'。 – Andreas
準備(學習)認證*是作業。谷歌OCPJP甚至會鏈接到「Oracle大學」網站。 ---也許在[The try-with-resources Statement](https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html)上的Java教程的第一段會幫助你。 – Andreas
如果你真的在認真學習Java,你不應該害怕嘗試。創建一個AutoCloseable類。在close()方法中添加一個System.out.println語句。使用上面的代碼而不是BufferedReader。看看是否打印了一些東西。或者只是在BufferedReader.close()中添加一個調試器斷點並查看是否已達到。 –