Mam dziwne zachowanie ze skanerem. Będzie działać z konkretnym zestawem plików, których używam, gdy używam konstruktora Scanner(FileInputStream)
, ale nie będzie to możliwe z konstruktorem Scanner(File)
.Java Scanner (plik) działa niewłaściwie, ale skaner (FIleInputStream) zawsze działa z tym samym plikiem
Przypadek 1: Scanner(File)
Scanner s = new Scanner(new File("file"));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Wynik: ma wyjścia
Przypadek 2: Scanner(FileInputStream)
Scanner s = new Scanner(new FileInputStream(new File("file")));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Wynik: czy plik wyjścia zawartość do konsoli.
Plik wejściowy jest plikiem java zawierającym pojedynczą klasę.
I podwójne sprawdzone programowo (w Javie), że:
- plik istnieje,
- jest czytelny,
- i ma niezerową rozmiar pliku.
Zazwyczaj Scanner(File)
działa dla mnie w tym przypadku, nie jestem pewien, dlaczego nie teraz.
Co plik zawiera? – Dan675
A czy to jedyny kod, czy też dzieje się wokół tego coś innego? Ten fragment kodu wydaje się być niekompletny, ponieważ zachodzi co najmniej obsługa wyjątków. Czy możesz podać nam cały kod? – haylem
Interesujące pytanie. Podaj swój aktualny kod i pastebin z plikiem. Co to jest wyjście 'charset.defaultCharset()' w twoim systemie? – Perception