如何确定何时到达文件结尾?

时间:2010-11-17 19:50:20

标签: java file file-io java.util.scanner

我正在尝试从文本文件中读取文本。 我需要帮助搞清楚文件结束的时间。我怎样才能在Java中确定这个?

FileInputStream istream = new FileInputStream("\""+filename+"\"");      
Scanner input = new Scanner(istream);
while(EOF != true)
{
 ....
}

谢谢!

2 个答案:

答案 0 :(得分:26)

您可以使用hasNextLine()

进行查询
Scanner input = new Scanner(new File("\""+filename+"\""));
while(input.hasNextLine())
{
   String data = input.nextLine();
}

答案 1 :(得分:6)

基于行的检索可能是您想要的,但基于令牌的检索也很有用。 您可以在Scanner

的文档中看到
public boolean hasNext()
  

如果此true在其输入中有另一个标记,则返回Scanner。在等待输入扫描时,此方法可能会阻塞。 Scanner不会超过任何输入。

     

指定人:       界面hasNext

中的Iterator<String>      

返回:       true当且仅当此Scanner有另一个令牌

时      

抛出:       IllegalStateException - 如果此Scanner已关闭

     

参见:       Iterator