textfile分隔java nosuchelement异常

时间:2013-04-26 16:47:20

标签: java

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

  

13年1月6日:下午4:00

     

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();

输出变为

  

0

     

3

     

2

     

6

     

3

2 个答案:

答案 0 :(得分:5)

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

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

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

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

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

答案 1 :(得分:3)

您收到错误是因为在解析BookingMade.txt时找不到分隔符。

<强> NoSuchElementException异常

  

由枚举的nextElement方法抛出,表示枚举中没有更多元素。

enter image description here