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 :

Exécuter des fichiers en même temps


Sujet :

Entrée/Sortie Java

  1. #21
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Par défaut
    Re,

    Pour le try/catch.
    Dans le catch tu peux préciser par exemple avec un println:
    System.out.println("Le dossier " + folder + " n'existe pas.");

    Concernant le chemin.
    Où se trouvent les fichiers ergoHN... .dump, dans le dossier src ou dans le dossier dossier car avec:
    "c:/src/dossier" on cherche dans le dossier dossier,

    Tu nous dis qu'il y en a 1500, mais où sont-ils ?

    Dan

  2. #22
    Membre éprouvé Avatar de wiss85
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 90
    Par défaut
    Bonjour
    tu peut me donner le code qui contient la boucle for

  3. #23
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    voilà la methode main qui contient la boucle for dans laquelle aparait l'exception !

    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
     
     
    public static void main(String[] args){
     
           ExtraireEtat E=new ExtraireEtat();
     
           File folder = new File("/src/dossier");
           File[] listOfFiles = folder.listFiles(); 
     
           for (int i = 0; i < listOfFiles.length; i++)//ici l'exception
          {
     
              if (listOfFiles[i].isFile()) 
              {
                String fichierIn = listOfFiles[i].getName();
                if( (fichierIn.startsWith("ergoHN")) && (fichierIn.endsWith(".dump")) ) 
                    E.readFile(fichierIn);
              }
          }
     
     
        }
    aider moi svp pour ce probléme.

  4. #24
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Par défaut
    Salut,

    "/src/dossier" n'est pas un chemin valide, d'où l'exception

    Il faut donner toute l'arborescence des répertoires de "c:/ jusqu'à .../dossier".
    Ou alors peux-tu faire un essai en mettant "." sans noms de dossiers ce qui signifirait que nous voulons traiter le dossier de travail, au cas où les .dump seraient dans ce dossier de travail.

    Il faudrait aussi en plus du try/catch que tu testes s'il y a bien au moins un fichier:

    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
    35
    36
    37
    38
    39
    40
    41
     
    public static void main(String[] args)
          {
             String debutNom = "ergoHn";
             String finNom = ".dump";
             ExtraireEtat E=new ExtraireEtat();
             //File folder = new File("/src/dossier"); // corriger le chemin<<<<<<
             File folder = new File("."); // dossier de travail
             File[] listOfFiles = folder.listFiles();
             int ctrFic = 0; // pour le comptage des fichiers .dump
             // et donner le nombre de fichiers .dump traités en fin d'exécution
          	// ou signaler qu'on n'a pas trouvé de .dump
             try
             {
                for (int i = 0; i < listOfFiles.length; i++)
                { //
                   if (listOfFiles[i].isFile())
                   {
                      String fichierIn = listOfFiles[i].getName();
                      if( (fichierIn.startsWith(debutNom)) && (fichierIn.endsWith(finNom)) )
                      {
                         ctrFic++;
                         E.readFile(fichierIn);                  }
                   }
                }
                if(ctrFic == 0)
                {
                   System.out.println("Il n'y a pas de fichier dont le nom commence par " + debutNom + "\n"
                      + " et termine par " + finNom);
                   return;
                }
                else
                {
                   System.out.println("Nous avons traité " + ctrFic + " fichier(s) " + finNom);
                }
             }
                catch(NullPointerException npe)
                {
                   System.out.println("Le dossier " + folder + " n'existe pas.");
                }
          }


    Dan.

  5. #25
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    bonjour,
    merci beaucoup pour votre aide , mais vraiment je ne sais pas quoi encore l'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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
     
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
     
    public class ExtraireEtat {
     
     
    	 String[] laitbrut(String ligne)
    		{
    			String []a  = ligne.split("\\s+");
    			return a ;	
    		}	
    	 public  String write(String contenu,String fichier) {    //Fonction écrire dans un fichier
     
    			try {
    				FileWriter fw = new FileWriter (fichier,true);
    				BufferedWriter bw = new BufferedWriter (fw);
    				PrintWriter fichierSortie = new PrintWriter (bw); 
    					fichierSortie.write(contenu+"\n");
    					fichierSortie.flush();
    					fichierSortie.close();
    					bw.close();
    					fw.close();
     
    			}
    			catch (Exception e){
    		System.out.println(e.toString());
    	}
    			return contenu; 
    			}
     
     
    public String readFile(String fichierIn) { // Fonction lire dans un fichier
     
    	String chaine="";
     
    	// lecture du fichier texte
    	try {
     
    		InputStream ips = new FileInputStream(fichierIn);
    		InputStreamReader ipsr = new InputStreamReader(ips);
    		BufferedReader lecteurAvecBuffer = null;
    		String ligne;
    		lecteurAvecBuffer = new BufferedReader(new FileReader(fichierIn));
    		String nom = fichierIn.replaceAll("dump" , "");
     
    		ligne = lecteurAvecBuffer.readLine();
     
    		 int comp1=0,comp2=0,comp3=0;
    	      StringBuffer sb= new StringBuffer();
     
    	        while ((ligne = lecteurAvecBuffer.readLine()) != null) {
    	            String[] tab=laitbrut(ligne);
     
    	        float    col1 = Float.parseFloat(tab[1]);
    	        float    col2 = Float.parseFloat(tab[2]);
    	        float    col3 = Float.parseFloat(tab[3]);
    	            if (col1 > col2 && col1 > col3){
     
    	                comp1++;
     
    	            }
    	            else if (col2 > col1 && col2 > col3){
     
    	            	comp2++;
     
     
    	            }
    	             else if (col3 > col2 && col3 > col1){
     
    	               comp3++;
     
     
    	            }   
     
    	        System.err.println("Etat1:"+comp1);
    	        System.err.println("Etat2:"+comp2);
    	        System.err.println("Etat3:"+comp3);
    	        write(comp1+" "+comp2+" "+comp3+" ", "/home/afifa/workspace/Etat/src/dump/"+nom+".txt");
    	        lecteurAvecBuffer.close();
    	    } catch (Exception e) {
    	        System.out.println(e.toString());
    	    }
     
    	    return chaine;
     
    	}
     
     
    public static void main(String[] args)
    {
       String debutNom = "ergoHN";
       String finNom = ".dump";
       ExtraireEtat E=new ExtraireEtat();
       File folder = new File("/home/afifa/workspace/Etat/src/dump"); // voilà le chemin est corrigé le dossier"dump" contient tous les fichiers .dump
       //File folder = new File("."); // dossier de travail
       File[] listOfFiles = folder.listFiles();
       int ctrFic = 0; // pour le comptage des fichiers .dump
       // et donner le nombre de fichiers .dump traités en fin d'exécution
    	// ou signaler qu'on n'a pas trouvé de .dump
       try
       {
          for (int i = 0; i < listOfFiles.length; i++)
          { //
             if (listOfFiles[i].isFile())
             {
                String fichierIn = listOfFiles[i].getName();
                if( (fichierIn.startsWith(debutNom)) && (fichierIn.endsWith(finNom)) )
                {
                   ctrFic++;
                   E.readFile(fichierIn);                  }
             }
          }
          if(ctrFic == 0)
          {
             System.out.println("Il n'y a pas de fichier dont le nom commence par " + debutNom + "\n"
                + " et termine par " + finNom);
             return;
          }
          else
          {
             System.out.println("Nous avons traité " + ctrFic + " fichier(s) " + finNom);
          }
       }
          catch(NullPointerException npe)
          {
             System.out.println("Le dossier " + folder + " n'existe pas.");
          }
    }
    }
    il me donne cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    java.io.FileNotFoundException: ergoHN1994014-4-LaitB-3-1e.dump (No such file or directory)
    java.io.FileNotFoundException: ergoHN1993091-8-LaitB-3-1e.dump (No such file or directory)
    java.io.FileNotFoundException: ergoHN1993091-7-LaitB-3-1e.dump (No such file or directory)
    Nous avons traité 3 fichier(s) .dump
    et je trouve rien comme fichier de sortie

  6. #26
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Par défaut
    Pourquoi System.err ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    System.err.println("Etat1:"+comp1);
    System.err.println("Etat2:"+comp2);
    System.err.println("Etat3:"+comp3);
    Ce n'est pas une erreur !!! ça prete à confusion il vaudrait mieux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    System.out.println("Etat1:"+comp1);
    System.out.println("Etat2:"+comp2);
    System.out.println("Etat3:"+comp3);
    Mais le problème n'est pas ici...

    Et si tu ne trouves pas tes fichiers, c'est sans doute parceque tu ne fermes pas correctement le fichier que tu viens de créer...
    Ou même que ton code write est incorrecte...
    Je vais examiner ça.

    En tout cas, on progresse.

  7. #27
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    merci

    mais le probléme pour l'execution d'un seul fichier j' aurai le resultat !

  8. #28
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Par défaut
    Bonjour,

    Désolé pour ce retard, mais le temmps me manquait...

    J'ai trouvé pas mal de choses à corriger...

    Tout d'abord dans la méthode readFile(...) :
    remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String nom = fichierIn.replaceAll("dump" , "");
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String nom = fichierIn.substring(0, fichierIn.length() -5);
    Ensuite :

    remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    StringBuffer sb= new StringBuffer();
    while ((ligne = lecteurAvecBuffer.readLine()) != null) {
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    StringBuffer sb= new StringBuffer();
    while ((ligne = lecteurAvecBuffer.readLine()) != null) { 
    ctrLignesFic++; // <<<<<<<<<<<<<<<<<<<<<<<<<
    Puis toujours dans la méthode readFile(...) :
    remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lecteurAvecBuffer.close();
    par
    Dans la méthode main(...) :

    remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {
    ctrFic++;
    E.readFile(fichierIn);
    }
    }
    }
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ctrFic++;
    ctrLignesFic = 0;  // <<<<<<<<<<<<<<<<<<<<<<<<<
    E.readFile("c://home/afifa/workspace/Etat/src/dump" + fichierIn);
    }
    }
    }
    Et dans la méthode write(...) :

    remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public String write(String contenu,String fichier) { //Fonction écrire dans un fichier
    try
    {
    FileWriter fw = new FileWriter (fichier,true);
    BufferedWriter bw = new BufferedWriter (fw); 
    PrintWriter fichierSortie = new PrintWriter (bw);
    fichierSortie.write(contenu+"\n");
     fichierSortie.flush();
     fichierSortie.close();
     bw.close(); fw.close(); 
    }
    par
    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
    //Fonction écrire dans un fichier
    public String write(String contenu,String fichier, String fichier)
    {
    try
    {
    if(ctrLignesFic == 1)
    {
    fw = new FileWriter (fichier,false); // on écrase si false (Si true: append) <<<<<<<<<<<<<<<<<<<<<<<<<
    }
    else
    fw = new FileWriter (fichier,true); // on écrase si false (Si true: append)   <<<<<<<<<<<<<<<<<<<<<<<<<
    BufferedWriter bw = new BufferedWriter (fw);
    PrintWriter fichierSortie = new PrintWriter (bw);
    fichierSortie.write(LigneAecrire + "\n");
    fichierSortie.flush();
    fichierSortie.close();
    bw.close();
    fw.close();
    }
    Enfin si je n'ai rien oublié; les lignes marquées <<<<<<<<<<<<<
    nécessitent de déclarer ctrLignesFic et fw en variable de classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class ExtraireEtat { 
    private static int ctrLignesFic;
    private static FileWriter fw;
    J'attend de savoir ce que ca donne et si tu as besoins d'expications n'héste pas...

    Dan

  9. #29
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    bonsoir ,
    désole pour le retard de vous répondre mais j'avais un problème dans mon pc hier donc j'ai pas pu se connecter , c'est parfait tous ca marche bien tous les fichiers .txt sont générés . merci beaucoup pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [GD] uploader un fichier et même temps le redimensionner
    Par Henry9 dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 25/02/2007, 23h29
  2. Voir deux fichier en même temps ?
    Par dr23fr dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 07/09/2006, 11h11
  3. [VB6] exécuter des fichiers gif
    Par motrin dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 03/08/2006, 12h59
  4. [DOS] exécuter 2 fichiers en même temps
    Par toninio dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 04/04/2006, 16h58
  5. exécution des fichiers index.php
    Par berry dans le forum Apache
    Réponses: 4
    Dernier message: 20/12/2004, 20h29

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