Sto avendo un comportamento strano con Scanner. Funzionerà con un particolare set di file che sto usando quando uso il costruttore Scanner(FileInputStream)
, ma non con il costruttore Scanner(File)
.Analizzatore anomalo di Java (File), ma Scanner (FIleInputStream) funziona sempre con lo stesso file
Caso 1: Scanner(File)
Scanner s = new Scanner(new File("file"));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Risultato: nessuna uscita
Caso 2: Scanner(FileInputStream)
Scanner s = new Scanner(new FileInputStream(new File("file")));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Risultato: le uscite di contenuti il file per la console.
Il file di input è un file java che contiene una singola classe.
Ho ricontrollato di programmazione (in Java) che:
- il file esiste,
- è leggibile,
- e ha uno spazio diverso da zero.
Tipicamente Scanner(File)
funziona per me in questo caso, non sono sicuro del motivo per cui non lo fa ora.
Che cosa contiene il file? – Dan675
Ed è l'unico codice, o ci sono altre cose che accadono intorno a tutto questo? Questo frammento di codice sembra incompleto, in quanto si verificheranno almeno alcune eccezioni. Potresti fornirci l'intero codice? – haylem
Interessante domanda. Per favore pubblica il tuo codice e un pastebin con il tuo file. Inoltre, qual è l'output di 'Charset.defaultCharset()' sul tuo sistema? – Perception