到达文件末尾时的java scanner nullpointer异常

时间:2011-06-09 17:39:36

标签: java file-io

好吧我可能做了一些愚蠢的事情,或者这应该是一个简单的修复,但基本上我有一个文本文件,我正在阅读扫描仪对象,当我到达文件的末尾,我得到一个nullpointer异常我想知道如何解决这个问题

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedReader;
import java.util.Scanner;

public class FileAccess {
  public static void main (String[] args) throws IOException {
    Scanner s = null;

    try {
      s = new Scanner(new BufferedReader(new FileReader("move_list.txt")));
      while (s.hasNext()) {
          System.out.println(s.next());
      }
    }
    finally {
      if (s != null) {
        s.close();
      }
    }
  }
}

一旦到达终点,我得到:

Exception in thread "main" java.lang.NullPointerException
   at java.util.regex.Matcher.toMatchResult(libgcj.so.10)
   at java.util.Scanner.myCoreNext(libgcj.so.10)
   at java.util.Scanner.hasNext(libgcj.so.10)
   at FileAccess.main(FileAccess.java:13)

1 个答案:

答案 0 :(得分:2)

尝试使用

while (s.hasNextLine()) {
  String line = s.nextLine();
  System.out.println(line);
}
s.close();