扫描仪noSuchElementException。是什么原因造成的?我该如何解决?

时间:2019-04-09 11:53:34

标签: java exception nosuchelementexception

MaybeT IO

我不知道如何解决该异常,我认为这是我第一次在Java中使用扫描仪

1 个答案:

答案 0 :(得分:0)

您正在调用nextLine(),并且在没有任何行时会引发异常,正像javadoc所描述的那样。永远不会返回null

使用支票

if(newName.hasNextLine()) {
  String getOnoma = newName.nextLine();
}

无论出于何种原因,如果Scanner类遇到无法读取的特殊字符,也会发出相同的异常。在每次调用nextLine()之前,除了使用hasNextLine()方法之外,还要确保将正确的编码传递给Scanner构造函数,例如:

Scanner scanner = new Scanner(new FileInputStream(filePath), "UTF-8");