テキストファイルからテキストを読み取ろうとしています。ファイルの終わりがいつ発生したかを把握するのに助けが必要です。 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
inインターフェースIterator<String>
戻り値:
true
は、このScanner
に別のトークンがある場合にのみスロー:
IllegalStateException
-このScanner
が閉じている場合参照:
Iterator