textfile分隔java nosuchelement异常

use*_*986 -3 java

我有一个带分隔符的文本文件,如下所示.我试图逐个检索元素.

13年1月6日:下午4点

3:2

6:3

当激活下面的代码时,我从程序中得到一个没有这样的元素异常.

  BufferedReader br = new BufferedReader(new FileReader("BookingMade.txt"));     

 if (br.readLine() != null) {

 Scanner s = new Scanner(br).useDelimiter(":");
 System.out.println(s.next());
 System.out.println(s.next());
 System.out.println(s.next());
 System.out.println(s.next());
 System.out.println(s.next());
 System.out.println(s.next());
 }
  br.close();
Run Code Online (Sandbox Code Playgroud)

输出成为

0

3

2

6

3

Rei*_*eus 5

你的问题不清楚,但这是一个问题:在这一行你正在跳过文件的第一行:

if (br.readLine() != null) {
Run Code Online (Sandbox Code Playgroud)

在此之后,只有4个令牌可用,但是你试图读取6因此NoSuchElementException被抛出.

您可以使用hasNext以下方法检查可用的令牌:

Scanner s = new Scanner(new File("BookingMade.txt")).useDelimiter(":");
while (s.hasNext()) {
   System.out.println(s.next());
}
Run Code Online (Sandbox Code Playgroud)