使用 Java 的 Scanner 类确定文件结尾
2022-09-02 09:43:19
我正在尝试从文本文件中读取文本。我需要帮助弄清楚文件何时结束。如何在Java中确定这一点?
FileInputStream istream = new FileInputStream("\""+filename+"\"");
Scanner input = new Scanner(istream);
while(EOF != true)
{
....
}
我正在尝试从文本文件中读取文本。我需要帮助弄清楚文件何时结束。如何在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();
}
基于行的检索可能是您想要的,但基于令牌的检索也可能很有用。您可以在扫描仪
的文档中看到
public boolean hasNext()
如果此输入中包含另一个令牌,则返回。此方法可能会在等待输入扫描时阻塞。不会前进超过任何输入。
true
Scanner
Scanner
指定方式:接口中
hasNext
Iterator<String>
返回:当且仅当它有另一个令牌
true
Scanner
抛出: - 如果关闭
IllegalStateException
Scanner
另请参阅:
Iterator