如何解决读取文件时Java中的空指针异常?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (621)

我试图用Java中的扫描器读取一个文件,在运行以下代码时,将得到以下输出和错误:

Exception in thread "main" java.lang.NullPointerException at PageRank$ReadInput.ReadFile(PageRank.java:29) at PageRank.main(PageRank.java:58)

以下是代码块;

public class PageRank{
public static class ReadInput{
    private Scanner x;
    public void OpenFile(){
        try {
            File file  = new File("input.txt");
            Scanner x=new Scanner(file);
       }
        catch(Exception e){
            System.out.println("File does not exist.");
        }


    }
    public void ReadFile() {
        while (x.hasNextLine() ) {
            String s = x.nextLine();
            System.out.println(s);
            String s1 = x.nextLine();
            String s2 = x.nextLine();
            System.out.println(s);
            System.out.println(s1);
            System.out.println(s2);
        }
    }

    }
public static void main(String[] args)throws Exception
    {
    ReadInput P = new ReadInput();
    P.OpenFile();
    P.ReadFile();
      }

}

提问于
用户回答回答于

在OpenFile()中de try块中删除

Scanner x=new Scanner(file);
x=new Scanner(file);
Scanner x=new Scanner(file);

在try块中,正在创建一个新变量,但其名称与您在类的开头声明的名称相同

private Scanner x;

扫码关注云+社区

领取腾讯云代金券