IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Pb lecture de fichier en boucle


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Par défaut Pb lecture de fichier en boucle
    Bonjour,
    j'ai un petit problème avec la lecture de plusieurs fichiers.txt. Ces fichiers ont pour noms "1", "2","3"... et j'aimerai pouvoir les lire dans une boucle mais je ne sais pas comment m'y prendre. Voici le programme en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    String nomfich;
    		double x, y, z;
    		nomfich = "U_0,5.txt";
    		BufferedReader entree = new BufferedReader(new FileReader(nomfich));
    		Vitesse vitesse = new Vitesse();
    		System.out.println("Nombres contenus dans le fichier " + nomfich + ":");
    		String ligneLue;
    		while ((ligneLue = entree.readLine()) != null) {
    			StringTokenizer tok = new StringTokenizer(ligneLue, " ");
    			if(tok.countTokens() == 3)
    			{
    				x = Double.parseDouble(tok.nextToken().replace("(", ""));
    				y = Double.parseDouble(tok.nextToken());
    				z = Double.parseDouble(tok.nextToken().replace(")", ""));
     
    				v1x.add(x);
    				v1y.add(y);
    				vitesse.setVx(v1x);
    				vitesse.setVy(v1y);
    				maliste.add(vitesse);
    			}
    		}
    Je pensais utiliser une boucle while { i<100, lecture du fichier "i" , i++} mais j'ai des pb de syntaxe.
    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Par défaut
    essaye plutôt "Tant que le fichier n'est pas vide" ...
    surtout que la il me manque quelques classes pour comprendre.. que fait Vitesse ? Qu'est ce qu'il y a dans ton fichier ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Par défaut
    désolé je me suis mal exprimé, la lecture de mon fichier se fait nikel. C'est juste qu'une fois que j'ai fini la lecture du fichier "1" admetons je puisse lire le fichier "2". En fait, mes fichiers sont indicés par un tps (titre du fichier) et contient des données de vitesse. Je voudrais faire une boucle sur la lecture des fichiers, je sais pas si j'ai été clair...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Par défaut
    Voilà ma tentative et le message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
       int nt=1;
    		while(nt<3)
    		{
    		// Lecture du fichier vitesse à t=1s
    		String nomfich;
    		double x, y, z;
    		nomfich = "nt.txt";
    		BufferedReader entree = new BufferedReader(new FileReader(nomfich));
    		Vitesse vitesse = new Vitesse();
    		System.out.println("Nombres contenus dans le fichier " + nomfich + ":");
    		String ligneLue;
    		while ((ligneLue = entree.readLine()) != null) {
    			StringTokenizer tok = new StringTokenizer(ligneLue, " ");
    			if(tok.countTokens() == 3)
    			{
    				x = Double.parseDouble(tok.nextToken().replace("(", ""));
    				y = Double.parseDouble(tok.nextToken());
    				z = Double.parseDouble(tok.nextToken().replace(")", ""));
     
    				v1x.add(x);
    				v1y.add(y);
    				vitesse.setVx(v1x);
    				vitesse.setVy(v1y);
    				maliste.add(vitesse);
    			}
    		}
     
    		entree.close();
    		nt=nt+1;
    		System.out.println("vecteurs vitesse");
    		System.out.println(vitesse.vx.get(3));
    		System.out.println(vitesse.vy);
    		System.out.println("fin liste fichier" + nomfich);
    		}
    Exception in thread "main" java.io.FileNotFoundException: nt.txt (Le fichier spécifié est introuvable)

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Par défaut
    la je l'exception est claire ton fichier n'arrive pas à être trouvé

    crée un File et affiche le full path avant ton exception pour trouver l'erreur

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Par défaut
    non c'est normal qu'il ne trouve pas le fichier nt n'existe pas!! nt est un entier que j'incrémente afin de pouvoir lire les fichiers "1", "2" et "3" en boucle. Le problème c'est que lorsque j'associe au string nomfich, nomfich = "nt.txt"; mon programme ne comprend pas qu'il doit s'agir du fichier "1.txt" et ainsi de suite. Quelqu'un sait-il comment faire svp?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 73
    Par défaut
    nomfich = nt+".txt";
    te convertit ton entier et le concatène

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Par défaut
    merci beaucoup!! j'avais 100 fichiers à lire et je me sentais mal!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/06/2008, 14h43
  2. lecture de fichiers txt et utilisation de boucles
    Par joboy84 dans le forum Langage
    Réponses: 4
    Dernier message: 04/06/2008, 12h24
  3. calcul et boucle sur lecture de fichier
    Par marinaetsonchat dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 22/11/2007, 15h15
  4. problème dans boucle for de lecture de fichier ini
    Par chourmo dans le forum Delphi
    Réponses: 3
    Dernier message: 06/07/2006, 09h31
  5. Boucle while et lecture de fichier
    Par fara morgana dans le forum Linux
    Réponses: 12
    Dernier message: 12/05/2006, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo