A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        第一种:
public static void demo1() throws FileNotFoundException, IOException {
                FileInputStream fis = null;
                FileOutputStream fos = null;
                try {
                        fis = new FileInputStream("xxx.txt");
                        fos = new FileOutputStream("yyy.txt");
                       
                        int b;
                        while((b = fis.read()) != -1) {
                                fos.write(b);
                        }
                }finally {
                        try{
                                if(fis != null)
                                        fis.close();
                        }finally {                                                        //try fianlly的嵌套目的是能关一个尽量关一个
                                if(fos != null)
                                        fos.close();
                        }
                }
        }

}
第二种:
public class Demo7_TryFinally2 {
        public static void main(String[] args) {
                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);
                        }
                } catch (FileNotFoundException e) {
                        e.printStackTrace();
                } catch (IOException e) {
                        e.printStackTrace();
                } finally {
                        if (fis != null) {
                                try {
                                        fis.close();
                                } catch (IOException e) {
                                        e.printStackTrace();
                                }
                        }
                        if (fos != null) {
                                try {
                                        fos.close();
                                } catch (IOException e) {
                                        e.printStackTrace();
                                }
                        }
                }

        }
}

评分

参与人数 2黑马币 +18 收起 理由
豆豆的小幸福 + 10
wxx11142 + 8 赞一个! 大家一起好好学!

查看全部评分

3 个回复

倒序浏览
没人加大么
回复 使用道具 举报
这个问题我也不知道啊
回复 使用道具 举报
异常解决有两张:
第一种是抛出去,也就是你上面的第一种,那么调用你这个方法的人,就需要处理这个异常,他可以继续选择抛出去或者捕获处理。
第二种就是捕获处理了,捕获到异常以后,try里面的代码就不执行,你可以另选一个方案达到你的目的。默认是把错误打印在控制台。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马