java scanner下一行抛出,但仅与print语句一起抛出
当我尝试使用java scanner时,它可以工作,在我的列表中,我将所有文本文件内容作为一个列表。 但是当我尝试在while循环中打印时,它抛出 java.util.NoSuchElementException:未找到任何行 最后一行出现异常。为什么会是这样,如果mylist超出了范围,它不会也被抛出吗java scanner下一行抛出,但仅与print语句一起抛出,java,while-loop,java.util.scanner,Java,While Loop,Java.util.scanner,当我尝试使用java scanner时,它可以工作,在我的列表中,我将所有文本文件内容作为一个列表。 但是当我尝试在while循环中打印时,它抛出 java.util.NoSuchElementException:未找到任何行 最后一行出现异常。为什么会是这样,如果mylist超出了范围,它不会也被抛出吗 try { Scanner myscanner = new Scanner(new FileReader(myfilepath)); while(myscann
try {
Scanner myscanner = new Scanner(new FileReader(myfilepath));
while(myscanner.hasNextLine()){
//System.out.println(myscanner.nextLine() );
mylist.add(myscanner.nextLine());
numline += 1;
}
myscanner.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
您检查是否有下一行,然后在打印时阅读2行 您应该将其更改为:
String line = myscanner.nextLine();
// print and add to list using line variable
为了避免这种情况,您应该创建变量来存储myscanner.nextLine()的结果,然后将其打印并添加到列表中。e、 g
while(myscanner.hasNextLine()){
String temp = myscanner.nextLine();
System.out.println(temp);
mylist.add(temp);
numline += 1;
}