每当我尝试将shipText数组设置为文件中的相应行时,它就会给我
主题
main
中的异常:java.util.NoSuchElementException
:找不到行。
为什么会这样?无论我将文件放在工作区的哪个位置,我都会继续得到错误:
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at shipPanel.<init>(shipPanel.java:28)
at shipFrame.main(shipFrame.java:14)
这是我在文件名shipsname-1.dat
中读取的代码:
Scanner inputData;
private String[] shipText = new String[138];
File infile = new File("shipnames-1.dat");
inputData = new Scanner(infile);
for(int i = 0; i < shipText.length; i++)
{
shipText[i] = inputData.nextLine();
System.out.println(shipText[i]);
}
inputData.close();
答案 0 :(得分:0)
您需要检查Scanner是否有下一个令牌;
while(inputdata.hasNext()){
//put you statement here
}
答案 1 :(得分:0)
shipnames-1.dat可能有138行,所以你应该得到0到137,而不是0~138, 或者你可以这样做
while (inputData.hasNext()) {
System.out.println(inputData.nextLine());
}