Ответ 1
Вы можете проверить с помощью hasNextLine()
:
Scanner input = new Scanner(new File("\""+filename+"\""));
while(input.hasNextLine())
{
String data = input.nextLine();
}
Я пытаюсь прочитать текст из текстового файла. Мне нужна помощь в выяснении, когда произошел конец файла. Как я могу определить это на Java?
FileInputStream istream = new FileInputStream("\""+filename+"\"");
Scanner input = new Scanner(istream);
while(EOF != true)
{
....
}
Спасибо!
Вы можете проверить с помощью hasNextLine()
:
Scanner input = new Scanner(new File("\""+filename+"\""));
while(input.hasNextLine())
{
String data = input.nextLine();
}
Поиск на основе строк может быть тем, что вы хотите, но также может быть полезен токен.
Вы можете увидеть в документации Scanner
public boolean hasNext()
Возвращает
true
, если этотScanner
имеет другой токен на своем входе. Этот метод может блокироваться, ожидая ввода для сканирования.Scanner
не продвигается мимо каких-либо входных данных.Указано:
hasNext
в интерфейсеIterator<String>
Возвращает:
true
тогда и только тогда, когда этотScanner
имеет еще один токенБроски:
IllegalStateException
- если этотScanner
закрытСм. также:
Iterator