Estoy escribiendo un programa en Java y una de las cosas que tengo que hacer es crear un conjunto de cada ubicación válida para un problema de ruta más corta. Las ubicaciones se definen en un archivo .txt que sigue un patrón estricto (una entrada por línea, sin espacios en blanco adicionales) y es perfecto para usar .nextLine para obtener los datos. Mi problema es que 241 líneas en el archivo (de 432) el escáner deja de funcionar 3/4 del camino a través de una entrada y no reconoce ninguna línea nueva.El escáner de Java no pasa por el archivo completo
Mi código:
//initialize state space
private static Set<String> posible(String posLoc) throws FileNotFoundException {
Scanner s = new Scanner(new File(posLoc));
Set<String> result = new TreeSet<String>();
String availalbe;
while(s.hasNextLine()) {
availalbe = s.nextLine();
result.add(availalbe);
}
s.close();
return result;
}
Los Datos
Shenlong Gundam
Altron Gundam
Tallgee[scanner stops reading here]se
Tallgeese II
Leo (Ground)
Leo (Space)
Por supuesto, "escáner deja de leer aquí" no se encuentra en los datos, sólo estoy marcado con la que el escáner deja de leer el archivo. Esto tiene 3068 bytes en el archivo, pero eso no debería afectar nada porque en el mismo programa, con código casi idéntico, estoy leyendo un archivo .txt de 261 líneas y 14 KB que codifica las rutas. Cualquier ayuda sería apreciada.
Gracias.
¿Podría cargar el archivo de datos real en algún lugar donde podamos echarle un vistazo? – NPE
¿Hay excepciones lanzadas? ¿Hay bloques de captura vacíos? –
Espero que pastebin funcione para todos. [datos] (http://pastebin.com/rt3mbXtD) – Fizzmaister