Je travaille actuellement avec la classe Java Scanner et j'obtiens une très étrange InputMismatchException. J'initialiser le scanner comme ceci:Java Scanner Lance InputMismatchException même lorsque le prochain jeton semble correspondre au type de données
Scanner in = new Scanner(new File(fileName));
in.useDelimiter("\n?.*:");
Quand j'appelle System.out.println(in.next());
, il imprime 1500
à la ligne de commande, ce qui est la valeur correcte. Toutefois, si j'appelle System.out.println(in.nextInt());
, le scanner lève une exception InputMismatchException. Je ne pense pas que j'imprime les nouvelles lignes ou les espaces vides, et je suis un peu perdu quant à la raison pour laquelle cela se produit.
EDIT: Voici le format de données pour ce que je lis dans:
Data Description:100 Next Data Description:200
EDIT: Appel Integer.parseInt(in.next());
résultats dans un NumberFormatException: For input string: "1"00
.
[Fonctionne pour moi] (http://ideone.com/bc7hyk). –