Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
到达文件结尾时出现java扫描程序空指针异常_Java_File Io - Fatal编程技术网

到达文件结尾时出现java扫描程序空指针异常

到达文件结尾时出现java扫描程序空指针异常,java,file-io,Java,File Io,好吧,我可能做了一些愚蠢的事情,或者这应该是一个简单的修复,但基本上我有一个文本文件,我正在读取一个扫描器对象,我得到了一个空指针异常,当我到达文件的结尾时,我想知道如何得到修复 import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.BufferedReader; import java.util.Scanner; public class FileAcc

好吧,我可能做了一些愚蠢的事情,或者这应该是一个简单的修复,但基本上我有一个文本文件,我正在读取一个扫描器对象,我得到了一个空指针异常,当我到达文件的结尾时,我想知道如何得到修复

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)
试用

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

你为什么用扫描仪?为什么不直接循环
bufferedReader.readLine()
对于我尝试的一些随机文件来说似乎很好。你能提供一个你不能正确解析的示例文件吗?我计划用代码做更多的工作,这只是一个精简版本,我正在做什么,以突出这个问题一个示例文件,我用的是水果.txt,每行有一个水果梨橙蓝莓桃葡萄香蕉李子我想用这个代码的文件包含大约400行,每行有18个数字,我想从每行中提取最后一个数字,这样我就不能使用nextLine()方法