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 :

concaténation des fichiers


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 13
    Points : 10
    Points
    10
    Par défaut concaténation des fichiers
    j'ai programme java qui permet de concaténer des fichiers de déférentes formats (text, word,xls...).
    Le problème qui se pose c que le programme se compile correctement mais son exécution ne marche pas ;
    voila le programme:


    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
    import java.io.*;
    import java.util.Vector;
     
    public class ConcatenationFichiers
    {
      // Méthode lancée à l'appel de l'instruction :
      // java ConcatenationFichiers nomFichier1 ...  nomFichierN nomFichierDest
      public static void main (String [ ] args)
      {
        try
        {
          Vector<BufferedInputStream> ensembleFichiers = new Vector<BufferedInputStream>();
          // Ajout à ensembleFichiers de tous les flux de données avec buffer
          // correspondant à chaque fichier d'entrée passé en paramètres 
          // (sauf le dernier paramètre)
          for (int i = 0; i < args.length - 1; i++)
            ensembleFichiers.addElement (new BufferedInputStream (
                                              new FileInputStream (args [i])));
     
          // Création d'un ensemble de flux d'entrée        
          InputStream fluxEntree =
              new SequenceInputStream (ensembleFichiers.elements ());
     
          // Ouverture en écriture avec un buffer du fichier
          // passé en dernier paramètre dans la ligne de commande
          OutputStream fluxDestination =
              new BufferedOutputStream (
                    new FileOutputStream (args [args.length -1]));
     
          byte donnees [ ] = new byte [1000];
          int  nbreOctetsLus;
          // Lecture puis écriture des données 
          while ((nbreOctetsLus = fluxEntree.read (donnees)) != -1)
            fluxDestination.write (donnees, 0, nbreOctetsLus);
     
          // Fermeture des flux
          fluxDestination.close ();
          fluxEntree.close ();
        }
        catch (IOException e)
        {
          // Exception déclenchée si un problème survient pendant l'accès aux fichiers
          System.out.println (e);
        }
      }
    }

    je prend comme arguments 2 fichiers txt déja crèer pour la concaténation et 1 fichier vide .txt comme fichier de destination.
    j'ai met ces fichier ds le dossier src du programme que j'ai crée avec eclipse, et mm si j'ai met le chemin complet des arguments le problème persiste.
    Merci d'avance de me répondre

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    "Ca ne marche pas" !? C'est à dire ?




    Sinon la gestion des flux n'est pas terrible : il faudrait fermer les fichiers dans des bloc try/finally : Comment libérer proprement les ressources (ou comment utiliser proprement les bloc try/finally) ?

    Ensuite je ne trouve pas ca super d'ouvrir tous les fichiers d'un coup. Il serait plus simple de les ouvrir un après l'autre...


    a++

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Salut
    j'ai modifier le programme en ajoutant le bloc Try/catch pour la fermeture comme vous avez dit, ça se compile mais j'ai pas pu l'exécuter

    voila la modification:

    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
    import java.io.*;
    import java.util.Vector;
     
    public class ConcatenationFichiers
    {
      // Méthode lancée à l'appel de l'instruction :
      // java ConcatenationFichiers nomFichier1 ...  nomFichierN nomFichierDest
      public static void main (String [ ] args)
      {
        try
        {
          Vector<BufferedInputStream> ensembleFichiers = new Vector<BufferedInputStream>();
          // Ajout à ensembleFichiers de tous les flux de données avec buffer
          // correspondant à chaque fichier d'entrée passé en paramètres 
          // (sauf le dernier paramètre)
     
          for (int i = 0; i < args.length - 1; i++)
            ensembleFichiers.addElement (new BufferedInputStream (
                                              new FileInputStream (args [i])));
     
          // Création d'un ensemble de flux d'entrée        
          InputStream fluxEntree =
              new SequenceInputStream (ensembleFichiers.elements ());
     
     
          // Ouverture en écriture avec un buffer du fichier
          // passé en dernier paramètre dans la ligne de commande
          OutputStream fluxDestination =
              new BufferedOutputStream (
                    new FileOutputStream (args [args.length -1]));
          try{
          byte donnees [ ] = new byte [1000];
          int  nbreOctetsLus;
          // Lecture puis écriture des données 
          while ((nbreOctetsLus = fluxEntree.read (donnees)) != -1)
            fluxDestination.write (donnees, 0, nbreOctetsLus);
          }
          finally{
          // Fermeture des flux
          fluxDestination.close ();
          fluxEntree.close ();
          }
        }  
        catch (IOException e)
        {
          // Exception déclenchée si un problème survient pendant l'accès aux fichiers
          System.out.println (e);
        }
      }
    }

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Bonjour à tous

    Je cherche un programme java qui me permet d'ouvrir un fichier ( je sais ou il se trouve ), le parcourir afin de modifier une chaine de carractere par une autre et de fermer ce fichier

    Ex : ouvrir le fichier test, rechercher dans ce fichier la chaine de caractere titi et la rempalcer par toto
    puis fermer ce fichier

    Merci à tous de votre aide

Discussions similaires

  1. executable concaténant des fichiers word, excel et pdf
    Par jaoille75 dans le forum Documents
    Réponses: 1
    Dernier message: 29/10/2010, 10h37
  2. Concaténer des fichiers words
    Par tomtom09 dans le forum Word
    Réponses: 1
    Dernier message: 17/09/2008, 18h23
  3. Cherche MODULE pour concaténer des fichiers PDF
    Par DevPerl dans le forum Modules
    Réponses: 1
    Dernier message: 21/10/2007, 18h11
  4. Concaténer des fichiers textes
    Par nasbe26 dans le forum VBScript
    Réponses: 1
    Dernier message: 18/09/2007, 15h41
  5. application pour concaténer des fichiers word.
    Par phoenixatareva dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 05/04/2007, 11h55

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