我目前正在使用Java Scanner类,并且出现了一个非常奇怪的InputMismatchException。我初始化扫描仪这样的:即使下一个标记符合数据类型,Java扫描程序仍会抛出InputMismatchException
Scanner in = new Scanner(new File(fileName));
in.useDelimiter("\n?.*:");
当我打电话System.out.println(in.next());
,它打印1500
到命令行,这是正确的值。但是,如果我拨打System.out.println(in.nextInt());
,Scanner将抛出InputMismatchException。我不认为我正在打印末尾的换行符或空格,而且我为什么会发生这种情况已经丢失了。
编辑:下面是什么我读的数据格式:
Data Description:100 Next Data Description:200
编辑:调用Integer.parseInt(in.next());
导致NumberFormatException: For input string: "1"00
。
[Works for me](http://ideone.com/bc7hyk)。 –