如果下面这个异常发生了,
try{
        in =new BufferedReader(new FileReader("TestMain.java"));
   }catch(FileNotFoundException e){}
那么你下面in.readLine不就是没有初始化了吗!正确如下:
public class GetLineNum{
  
  public static void main(String[] args){        
        int i;
        BufferedReader in;
        try{
 in =new BufferedReader(new FileReader("TestMain.java"));

i = 0; while (in.readLine() != null){
i++;
            }
        }catch(IOException e){}
}catch(FileNotFoundException e){}
        System.out.println("Line Number:" + i);
  }
}

解决方案 »

  1.   

    java的一种安全处理,象下面这样写就可以了public class GetLineNum{
      
      public static void main(String[] args){        
            int i;
            BufferedReader in=null;//修改在这里
            try{
            in =new BufferedReader(new FileReader("TestMain.java"));
       }catch(FileNotFoundException e){}
       i = 0;
       try{
           while (in.readLine() != null){
       i++;
                }
            }catch(IOException e){}
            System.out.println("Line Number:" + i);
      }
    }
      

  2.   

    java的一种安全处理,象下面这样写就可以了public class GetLineNum{
      
      public static void main(String[] args){        
            int i;
            BufferedReader in=null;//修改在这里
            try{
            in =new BufferedReader(new FileReader("TestMain.java"));
       }catch(FileNotFoundException e){}
       i = 0;
       try{
           while (in.readLine() != null){
       i++;
                }
            }catch(IOException e){}
            System.out.println("Line Number:" + i);
      }
    }