Lecture fichier txt en java StreamTokenizer

Résolu/Fermé
javast Messages postés 75 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 14 février 2013 - 7 janv. 2011 à 16:35
javast Messages postés 75 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 14 février 2013 - 11 janv. 2011 à 20:04
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
A voir également:

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
7 janv. 2011 à 18:03
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
0
javast Messages postés 75 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 14 février 2013 1
11 janv. 2011 à 20:04
Merci beaucoup KX :)
0