Java File Scanner的NoSuchElementException

时间:2014-12-11 06:23:41

标签: java exception-handling java.util.scanner

好的,所以我需要制作一个用户名和密码输入文本文件的程序。我正在使用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”。由于捕获。有什么理由吗?数据处理得很好,为什么我会得到一个没有这样的元素异常?

1 个答案:

答案 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
            }
        }