【发布时间】:2015-10-27 09:44:49
【问题描述】:
我想读取一个格式如下的文件:
c00004;Doe John;bananas;4.0;50.0
c00003;Doe John;milk;4.0;5.0
c00001;Doe John;milk;4.0;10.0
c00001;Doe John;milk;5.0;2.0
使用此代码:
Scanner in = new Scanner(Paths.get(fileName));
in.useDelimiter(";|\\s");
while(in.hasNext())
{
String customerID = in.next();
String surname = in.next();
String firstName = in.next();
String productName = in.next();
double price = in.nextDouble();
double quantity = in.nextDouble();
Purchase newPurchase = new Purchase(customerID, surname, firstName, productName, price, quantity);
}
in.close();
在读取第二行数据的过程中出现输入不匹配异常。任何想法为什么会这样?
编辑: 如果我在读取后输出每个变量,则输出为:
c00004 Doe John bananas 4.0 50.0
c00003 Doe John Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at CustomersPurchaseSortFind.readFile(CustomersPurchaseSortFind.java:31)
at Main.main(Main.java:9)
【问题讨论】:
-
你能发布你的堆栈跟踪吗?
-
@JordiCastilla 我已经更新了帖子。
-
好吧,太糟糕了,你在 Windows 上,因为你不会在 Unix 系统上遇到这个问题:P。但是您已经得到了解决方案的答案。
标签: java java.util.scanner delimiter