[Java] Sortie boucle while

Résolu
Bonjour,
débutant en java, je suis en train de faire un programme qui me cherche les mots dans un fichier qui ne font pas partie d'une liste de mots-clés, et qui me les affiche.
Seulement voilà, je me suis servi d'une boucle while, cela marchait encore il y a quelques jours, et depuis hier, impossible de sortir de la boucle !
J'ai du modifier une partie du code sans m'en apercevoir en essayant de l'ameliorer, mais je ne voie pas où...

import java.io.*;
import java.util.*;

public class Test{	
	public static void main (String[] args){
		ArrayList al = new ArrayList();
		try {
		StreamTokenizer flot = new StreamTokenizer(new BufferedReader( new FileReader("ListeMotsClesEnzo.txt")));
		int lu = flot.nextToken();
		int i = 0;
		while (lu != StreamTokenizer.TT_EOF){
			al.add(flot.sval);
			lu = flot.nextToken();
			i++;
		}
		}
		catch (IOException e){ System.out.println("Erreur");}
		
		try {
		StreamTokenizer flot2 = new StreamTokenizer(new BufferedReader( new FileReader("TestEnzo.txt")));
		int lu2 = flot2.nextToken();
		String val = "";
		while (lu2 != StreamTokenizer.TT_EOF){
			val = "";
			for (int j=0; j<al.size(); j++){
				if (!(al.contains(flot2.sval))) 
						{val = flot2.sval;}
			}
		}
		if (!(val.equals(""))) {System.out.println(val);}
		lu2=flot2.nextToken();
		}	
		catch (IOException e){System.out.println("Erreur");}
	}
}


et c'est à ce niveau que ca bloque:

while (lu2 != StreamTokenizer.TT_EOF){
			val = "";
			for (int j=0; j<al.size(); j++){
				if (!(al.contains(flot2.sval))) 
						{val = flot2.sval;}
			}
		}


Merci d'avance
Configuration: Indeterminable Indeterminable

2 réponses

  1. Oups, je vient de trouver d'où ca venait. Une simple (mais chiante) erreur de fermeture, je fermais la boucle trop tôt...
    1. Salut,

      Cette boucle est nouvelle ?

      while (lu2 != StreamTokenizer.TT_EOF){
      val = "";
      for (int j=0; j<al.size(); j++){
      if (!(al.contains(flot2.sval)))
      {val = flot2.sval;}
      }
      }

      La boucle for (int j=0; j<al.size(); j++){
      termine bien elle, mais comme lu2 reste à la même valeur la boucle while continue sans fin .

      Cordialement,

      Dan