java中IO流的标准异常处理代码

流的标准异常处理jdk1.6版本及其以前

FileInputStream fis = null;
FileOutputStream fos = null;
try {
    fis = new FileInputStream("aaa.txt");
    fos = new FileOutputStream("bbb.txt");
    int b;
    while((b = fis.read()) != -1) {
        fos.write(b);
    }
} finally {
    try {
        if(fis != null)
            fis.close();
    }finally {
        if(fos != null)
            fos.close();
    }
}

流的标准异常处理jdk1.7版本

try(
    FileInputStream fis = new FileInputStream("aaa.txt");
    FileOutputStream fos = new FileOutputStream("bbb.txt");
){
    int b;
    while((b = fis.read()) != -1) {
        fos.write(b);
    }
}

原理:在try()中创建的流对象必须实现AutoCloseable接口,如果实现了,在try后面的{}(读写代码)执行后就会自动调用流对象的close方法将流关掉

猜你喜欢

转载自blog.csdn.net/Ithao2/article/details/87859835