Tengo un comportamiento extraño con Scanner. Funcionará con un conjunto particular de archivos que estoy usando cuando utilizo el constructor Scanner(FileInputStream)
, pero no con el constructor Scanner(File)
.Java Scanner (archivo) portándose mal, pero Scanner (FIleInputStream) siempre funciona con el mismo archivo
Caso 1: Scanner(File)
Scanner s = new Scanner(new File("file"));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Resultado: ninguna salida
Caso 2: Scanner(FileInputStream)
Scanner s = new Scanner(new FileInputStream(new File("file")));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Resultado: salidas de contenido el archivo en la consola.
El archivo de entrada es un archivo java que contiene una sola clase.
me doble registrado mediante programación (en Java) que:
- el archivo existe,
- es legible,
- y tiene un tamaño de archivo que no sea cero.
Por lo general, Scanner(File)
funciona para mí en este caso, no estoy seguro de por qué no lo hace ahora.
¿Qué contiene el archivo? – Dan675
¿Y es ese el único código, o hay otras cosas sucediendo alrededor de todo eso? Este fragmento parece incompleto, ya que habría al menos algún tipo de manejo de excepciones. ¿Podría proporcionarnos todo el código? – haylem
Pregunta interesante. Por favor, publique su código real y un pastebin con su archivo. Además, ¿cuál es el resultado de 'Charset.defaultCharset()' en su sistema? – Perception