Lecture fichier txt en java StreamTokenizer [Résolu/Fermé]

Signaler
Messages postés
75
Date d'inscription
mardi 20 avril 2010
Statut
Membre
Dernière intervention
14 février 2013
-
Messages postés
75
Date d'inscription
mardi 20 avril 2010
Statut
Membre
Dernière intervention
14 février 2013
-
Bonjour,

J'essaye de lire un fichier texte qui contient des entiers et des caractères..le but c'est de lire ce fichier ligne par ligne puis stocker cette ligne dans un ArrayList
voilà mn fichier txt
2
0,2
1,a,3,c
3,b,1,z
j'ai commencer par ce code suivant, pour réaliser un affichage simple avant de stocker dans les arrayLit


FileReader fichier=new FileReader("fic.txt");
StreamTokenizer Tokenizer=new StreamTokenizer(fichier);
Tokenizer.nextToken();

while (re.ttype !=re.TT_EOL)
{

System.out.println((int)Tokenizer.nval);
re.nextToken();
System.out.println((int)Tokenizer.nval);
re.nextToken();

}

Le programme ne s'arrête jamais=>boucle while infinie il sort jamais du while
si quelqu'un peut m'aider svp
Merci d'avance

2 réponses

Messages postés
16039
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
22 septembre 2020
2 677
Je conseillerai l'utilisation de la classe Scanner
Voici un exemple de manipulation :

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public static void main(String args[]) throws FileNotFoundException
{
    Scanner fichier = new Scanner(new File("fic.txt")).useDelimiter("[ ,\n\r]");
    
    while (fichier.hasNext())
    {
        String mot = fichier.next();

        try
        {
            int i = Integer.parseInt(mot);
            System.out.println("\""+i+"\" est un entier");
        }
        catch (NumberFormatException e)
        {    
            if (mot.length()>0)
                System.out.println("\""+mot+"\" n'est pas un entier");
            else System.out.println();
        }
    }

    fichier.close();
}

Résultats avec ton fichier fic.txt :

"2" est un entier

"0" est un entier
"2" est un entier

"1" est un entier
"a" n'est pas un entier
"3" est un entier
"c" n'est pas un entier

"3" est un entier
"b" n'est pas un entier
"1" est un entier
"z" n'est pas un entier
Messages postés
75
Date d'inscription
mardi 20 avril 2010
Statut
Membre
Dernière intervention
14 février 2013
1
Merci beaucoup KX :)