Java Scanner - czytanie z pliku i wyjątek

0

Próbuję wczytać dane z pliku o następującym formacie:

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

za pomocą takiego kodu:

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);
	purchases.add(newPurchase);
}
		
in.close();

Podczas wczytywania pierwszej liczby double, a więc podczas próby przypisania wartości do zmiennej "price" dostaję wyjątek "java.util.InputMismatchException". Co ciekawe na innym systemie Windowsa ten wyjątek nie występuje i wszystko wczytuje się prawidłowo... Ma ktoś jakieś pomysły czemu zawdzięczam ten wyjątek?

1

Klasa Scanner respektuje ustawienia lokalne. Jeśli masz pewność, że zawsze speratorem dziesiętnym będzie kropka, to wystarczy

in.useLocale(new Locale("en"));

1 użytkowników online, w tym zalogowanych: 0, gości: 1