黑马程序员技术交流社区

标题: 关于io流的异常处理,有点绕啊,有没有大神详细解释下 [打印本页]

作者: chenxianzai    时间: 2015-11-26 23:02
标题: 关于io流的异常处理,有点绕啊,有没有大神详细解释下
IO流(流的标准处理异常代码1.6版本及其以前)
try finally嵌套
                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();
                        }
                }

流的标准处理异常代码1.7版本)
try close
                try(
                        FileInputStream fis = new FileInputStream("aaa.txt");
                        FileOutputStream fos = new FileOutputStream("bbb.txt");
                        MyClose mc = new MyClose();
                ){
                        int b;
                        while((b = fis.read()) != -1) {
                                fos.write(b);
                        }
                }
在try()中创建的流对象必须实现了AutoCloseable这个接口,如果实现了,在try后面的{}(读写代码)执行后就会自动调用,流对象的close方法将流关掉







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2