У меня странное поведение со Сканером. Он будет работать с определенным набором файлов, которые я использую, когда я использую конструктор Scanner(FileInputStream)
, но не будет с конструктором Scanner(File)
.
Случай 1: Scanner(File)
Scanner s = new Scanner(new File("file"));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Результат: нет вывода
Случай 2: Scanner(FileInputStream)
Scanner s = new Scanner(new FileInputStream(new File("file")));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Результат: содержимое файла выводится на консоль.
Входной файл представляет собой Java файл, содержащий один класс.
Я дважды программно программировал (на Java), который:
- файл существует,
- доступен для чтения,
- и имеет ненулевой размер файла.
Обычно Scanner(File)
работает для меня в этом случае, я не уверен, почему это не так.