开发者

Determine end-of-file using Java's Scanner class

I am trying to read text from a text file. 开发者_运维百科I need help figuring out when the end of file has occurred. How can I determine this in Java?

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


You can check using hasNextLine():

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


Line based retrieval may be what you want, but token based can also be useful. You can see in documentation of Scanner

public boolean hasNext()

Returns true if this Scanner has another token in its input. This method may block while waiting for input to scan. The Scanner does not advance past any input.

Specified by: hasNext in interface Iterator<String>

Returns: true if and only if this Scanner has another token

Throws: IllegalStateException - if this Scanner is closed

See Also: Iterator

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜