1.6和之前是這樣的,但這樣的缺點是finally中也可能報錯(如關閉流):java
BufferedReader br = null; try { br = new BufferedReader(new FileReader("")); } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) br.close(); }
1.7新增try-with-resources 語句:code
try (BufferedReader br = new BufferedReader(new FileReader(""))) { br.readLine(); }
1.7中只要實現了AutoCloseable或Closeable接口的類或接口,均可以使用try-with-resource來實現異常處理和資源關閉。接口
public abstract class Reader implements Readable, Closeable public interface Closeable extends AutoCloseable