我试图从文本文件中读取文本。 我需要帮助确定何时已经到达文件末尾。 如何在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();
}
如果你想进行基于行的检索,那么这可能是你想要的,但基于标记的检索也可能很有用。你可以在Scanner
的文档中看到。
public boolean hasNext()
.nextLine()
),那么Scanner.hasNextLine()
会导致程序崩溃。 否则,根据Thomas Langston的建议,使用.hasNext()
代替。 - paulsm4