Я хочу, чтобы прочитать файл, который имеет следующий вид:Java Scanner - два разделителей и исключение
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();
я получаю Input несовпадение Exception в середине чтения второй строки данных. Есть идеи, почему?
EDIT: Если I выход каждой переменной, прочитав его, выход:
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)
Вы можете разместить свой StackTrace? –
@JordiCastilla Я обновил сообщение. – Quentin
Ну, слишком плохо, что вы на Windows, потому что у вас не будет этой проблемы в Unix-System: P. Но у вас уже есть ответ с решением. – Tom