好的,所以我需要制作一个用户名和密码输入文本文件的程序。我正在使用Scanner和File对象从文件中读取。 users.txt的每一行都包含用户名和密码。
users.txt
用户名密码
String fileName = "users.txt";
try{
File inFile = new File(fileName);
Scanner fin = new Scanner(inFile);
while(fin.hasNextLine()){
System.out.print(fin.next());
}
fin.close();
}
catch(Exception e){e.printStackTrace(); }
该代码将输出用户名,但在文本文件之后我得到“NoSuchElementException”。由于捕获。有什么理由吗?数据处理得很好,为什么我会得到一个没有这样的元素异常?
答案 0 :(得分:2)
如果每一行都有用户名和密码,你应该这样做:
while(fin.hasNextLine()){
System.out.print(fin.next()); // username
System.out.print(fin.next()); // password
fin.nextLine(); // consume end of line
}
或
String line = null;
while((line = fin.nextLine()) != null){
String[] tokens = line.split(" ");
if (tokens.length > 1) {
System.out.print(tokens[0]); // username
System.out.print(tokens[1]); // password
}
}