日期:2014-05-20  浏览次数:20816 次

FileInputStream 对象的创建
Java code

    FileInputStream in = null;
    try {
       in = new FileInputStream("d:\\TestFileInputStream.java");
    } catch (FileNotFoundException e) {
      System.out.println("找不到指定文件"); 
      System.exit(-1);
    }


上面这段代码没有异常,但是稍微调整声明方式,就会有问题
Java code

    //FileInputStream in = null;
    try {
      FileInputStream in = new FileInputStream("d:\\TestFileInputStream.java");
    } catch (FileNotFoundException e) {
      System.out.println("找不到指定文件"); 
      System.exit(-1);
    }


什么问题呢,IO 声明有什么特殊么??

------解决方案--------------------
你下面那段代码的in声明在作用域try里

后面就不可见了
------解决方案--------------------
FileInputStream in = new FileInputStream("d:\\TestFileInputStream.java");只在try块中有效。
出了这个块就超出作用域了