/ / arrête le scanner quand il lit le dernier mot - java, java.util.scanner

arrêter le scanner lorsqu'il lit le dernier mot - java, java.util.scanner

Je ne suis pas trop expérimenté avec les scanners, mais jea écrit une méthode pour lire chaque mot d’un fichier txt et pour chacun d’eux, en ajouter un à un int, mais ils ne cessent d’augmenter. Je voudrais que ça s'arrête quand il lit les derniers mots / ajoute le dernier.

    public void drawnames(Graphics g) throws FileNotFoundException{
int str = 0;
String[] string = new String[800*600];
int xpos = 100;
int ypos = 100;
@SuppressWarnings("resource")
Scanner s = new Scanner(new BufferedReader(new FileReader("Particles/Names.txt")));
while(s.hasNext()){
string[str] = s.next();
g.drawString(string[str] + str, xpos, ypos);
str = str + 1;
ypos = ypos + 100;
}
}

Réponses:

1 pour la réponse № 1

Immédiatement après votre boucle while, ajoutez ceci:

s.close();

1 pour la réponse № 2

s.HastNext () retournera toujours true car s ne change jamais.

Vous pourriez peut-être utiliser hasNextline () à la place.

Jetez un coup d'œil à la documentation ici: http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNext%28%29