Voyex:
He creado un escáner en Java para leer un archivo de datos con respecto a una ciudad. El archivo tiene el formato como por ejemplo:
Abbotsford,2310,2
Adams,1967,1
Algoma,3167,2
Al leer el archivo, me sale un InputMismatchException al escanear el último elemento de cada línea (Este elemento tiene que ser un int).
public void fileScanner(File toScan) throws FileNotFoundException {
Scanner sc = new Scanner(toScan);
sc.useDelimiter(",");
System.out.println(sc.next());
System.out.println(sc.nextInt());
System.out.println(sc.nextInt());
¿Alguna idea de por qué? Me imagino que tiene algo que ver con mi uso de la "" delimitador.
puerta trasera :
Está utilizando un único delimitador es decir, ,
pero su archivo contiene \r
o \n
por lo intenta utilizar múltiples delimitadores. Además, utilizar un bucle para leer todo el archivo: -
Scanner sc = new Scanner(toScan);
sc.useDelimiter(",|\\r\\n");
while (sc.hasNext()) {
System.out.println(sc.next());
System.out.println(sc.nextInt());
System.out.println(sc.nextInt());
}
SALIDA:-
Abbotsford
2310
2
Adams
1967
1
Algoma
3167
2