web-dev-qa-db-fra.com

Comment déterminer quand la fin du fichier a été atteinte?

J'essaye de lire le texte d'un fichier texte. J'ai besoin d'aide pour savoir quand la fin du fichier s'est produite. Comment puis-je déterminer cela en Java?

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

Merci!

19
Blackbinary

Vous pouvez vérifier en utilisant hasNextLine():

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

La récupération basée sur la ligne peut être ce que vous voulez, mais basée sur les jetons peut également être utile. Vous pouvez voir dans la documentation de Scanner

public boolean hasNext()

Renvoie true si ce Scanner a un autre jeton en entrée. Cette méthode peut se bloquer en attendant que l'entrée soit analysée. Scanner n'avance au-delà d'aucune entrée.

Spécifié par: hasNext dans l'interface Iterator<String>

Renvoie: true si et seulement si ce Scanner a un autre jeton

Lance: IllegalStateException - si ce Scanner est fermé

Voir aussi: Iterator

7
Thomas Langston