Вопрос
Как это выглядит для объекта сканера, метод hasNextLine()
возвращает true, а метод hasNext()
возвращает false?
Примечание. На основе входного файла метод hasNext()
возвращает результат, как ожидалось; hasNextLine()
, похоже, не возвращает правильный результат.
код
Вот код, который я запускаю, создавая следующие результаты:
public void ScannerTest(Reader fileReaderObject){
Scanner scannerObj = new Scanner(fileReaderObject);
for(int i = 1; scannerObj.hasNext(); i++){
System.out.println(i + ": " + scannerObj.next());
System.out.println("Has next line: " + scannerObj.hasNextLine());
System.out.println("Has next: " + scannerObj.hasNext());
}
System.out.println();
scannerObj.close();
}
Входной файл
Ниже приведен фактический контент файла, который я передаю этому сканеру:
a 3 9
b 3 6
c 3 3
d 2 8
e 2 5
f 2 2
g 1 7
h 1 4
i 1 1
Результат
Ниже приведен конец того, что напечатано на консоли при запуске моего кода, и включает в себя часть, о которой я не могу понять:
25: i
Has next line: true
Has next: true
26: 1
Has next line: true
Has next: true
27: 1
Has next line: true
Has next: false