我有一个带分隔符的文本文件,如下所示.我试图逐个检索元素.
13年1月6日:下午4点
3:2
6:3
当激活下面的代码时,我从程序中得到一个没有这样的元素异常.
Run Code Online (Sandbox Code Playgroud)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
你的问题不清楚,但这是一个问题:在这一行你正在跳过文件的第一行:
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)
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |