目的是打印出.txt文件中的名称列表。我使用的代码如下。
import java.util.ArrayList;
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class FileScanner3 {
public static void main(String args []) throws FileNotFoundException {
ArrayList<String> names = new ArrayList<String>();
String inName;
//Setup a scanner to read from a text file
Scanner in = new Scanner(new File("namefile.txt").getAbsoluteFile());
while (in.hasNextLine()) {
inName = in.next();
//Use next() to read string
names.add(inName);
}
//Tidy up by closing files
in.close();
//Print names ArrayList
for(int i =0; i<names.size(); i++) {
System.out.println((i + 1) + "\t" + names.get(i));
}
}
}
我得到的错误是:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at FileScanner3.main(FileScanner3.java:17)
如果有人能够告诉我什么是错的,那就太棒了!
编辑:拼写
答案 0 :(得分:2)
没有文本文件,很难猜到,但我想文件末尾有一个空行。您可以通过将内循环转换为
来防止此错误 while (in.hasNext()) {
inName = in.next();
//Use next() to read string
names.add(inName);
}
我希望它有所帮助。