IO流自动关闭总结

IO流自动关闭总结

总结

JDK1.7及以上,IO流自动关闭总结:
(1)需要关闭的资源必须实现Closeable或者AutoCloseable;查看JDK源码,Closeable继承自AutoCloseable,这两个接口中只有一个方法:void close() throws Exception;
(2)需要关闭的资源必须重写close()方法,方法中必须包含完整的资源关闭操作代码;
(3)调用写法:自动关闭功能属于try的增强特性,此时无需显式的书写资源关闭代码,try段代码执行完毕后,系统会自动调用资源的关闭方法关闭资源:

    public static void main(String[] args) {
        try(InputStream inputStream = new FileInputStream("D:/a.txt")) {
        }catch (Exception e){
            e.printStackTrace();
        }
    }

或者按旧的方式:

public static void main(String[] args) {
        InputStream inputStream = null;
        try {
            inputStream = new FileInputStream("D:/a.txt");
        }catch (Exception e){
            e.printStackTrace();
        } finally {
            if(inputStream != null){
                try {
                    inputStream.close();
                } catch (IOException e) {
                    inputStream = null;
                    e.printStackTrace();
                }
            }

你可能感兴趣的:(java)