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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


public class ExceptionDemo{
        public static void main(String[] args) {

                File file = new File("c:\\a.txt");
                readFile1(file);
        }

        public static void readFile1(File file) {
                // 使用字节流读取文件的异常处理.
                // 1. 创建字节输入流.
                FileInputStream fis = null;
                try {
                        // 1. 创建字节输入流.
                        fis = new FileInputStream(file);
                        // 2. 读取文件.
                        int data;
                        while ((data = fis.read()) != -1) {
                                System.out.print((char) data);
                        }

                } catch (IOException e) {
                        throw new RuntimeException(e);
                } finally {
                       
                                        fis.close();
                                }
                        }
                }
        }
}

4 个回复

倒序浏览
楼主没有正确处理异常(没有抛出,也没有try catch解决),建议好好回顾一下IO和异常的两节课
public class ExceptionDemo {
    public static void main(String[] args) throws IOException {

        File file = new File("c:\\a.txt");
        readFile1(file);
    }

    public static void readFile1(File file) throws IOException {
        // 使用字节流读取文件的异常处理.
        // 1. 创建字节输入流.
        FileInputStream fis = null;
        try {
            // 1. 创建字节输入流.
            fis = new FileInputStream(file);
            // 2. 读取文件.
            int data;
            while ((data = fis.read()) != -1) {
                System.out.print((char) data);
            }

        } catch (IOException e) {
            throw new RuntimeException(e);
        } finally {

            fis.close();
        }
    }

}
回复 使用道具 举报
close方法会抛出一个异常,需要处理,还有小是{}看下有没有多
回复 使用道具 举报
close前需要判断下fis是不是null
回复 使用道具 举报
fis.close()会出现异常,你要判断一下,

     if(fis!=null)
   try
     { fis.close();
      }
       catch(IOException e)
     {
    }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马