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 :

créer une arborescence de dossiers et de fichiers dans un archive zip


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut créer une arborescence de dossiers et de fichiers dans un archive zip
    Bonjour tout le monde.
    Voila, je travaille sur une application qui devrait récupérer des données et créer avec des fichiers docx.
    J'utilise la spécification OPENXML.
    Mon problème est que je souhaiterai créer une arborescence de dossiers dans un archive.
    Tout ce que j'arrive à faire est la création d'un ensemble de fichiers.
    n'existe-t-il pas un moyen d'ajouter un dossier à un archive zip en java?
    Merci bcp!

  2. #2
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,

    Tout ce que j'arrive à faire est la création d'un ensemble de fichiers.
    est ce que tu veut dire que peut créer des fichiers dans des archives?
    bon voilà une idée tu crée d'abord ton arborescence de répertoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File Dossier = new File("Chemin").mkdir()
    puis tu les compresse sinon si tu veut ajouter des dossiers à un fichier compressé pense d'abord à le décompresser puis à ajouter les dossier puis à le recompressé.
    cherche sur google ou sur le forum pour trouver le code java de compression et de décompression.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci d'avoir répondu.
    En fait, ce que je voulais faire était de créer manuellement à partir du code Java un archive ZIP avec une certaine arborescence de dossiers et de fichiers dedans.
    J'ai résolu le blem mnt.
    La solution est que lorske je spécifie un fichier à compresser,je lui donne le nom précédé du chemin.

    Voici ma fonction:

    public void OpenXmlZip(String NonFacture) {
    String chemin;//servira a la concatenation du nom du fichier avec le chemin du repertoire des factures
    chemin="FacturesGenerees".concat("\\").concat(NonFacture).concat(".docx");

    //Constitution de la liste des fichiers a compresser

    String [] Acompresser =new String[11];
    Acompresser[0]="[Content_Types].xml";
    Acompresser[1]="_rels\\.rels";
    Acompresser[2]="word\\document.xml";
    Acompresser[3]="word\\fontTable.xml";
    Acompresser[4]="word\\webSettings.xml";
    Acompresser[5]="word\\styles.xml";
    Acompresser[6]="word\\settings.xml";
    Acompresser[7]="word\\_rels\\document.xml.rels";
    Acompresser[8]="word\\theme\\theme1.xml";
    Acompresser[9]="docProps\\core.xml";
    Acompresser[10]="docProps\\app.xml";

    FileInputStream inStream = null;
    FileOutputStream outStream = null;
    try {
    outStream = new FileOutputStream(chemin);
    } catch (FileNotFoundException ex) {
    ex.printStackTrace();
    }
    ZipOutputStream zipoStream=new ZipOutputStream(outStream);
    zipoStream.setLevel(Deflater.BEST_COMPRESSION);

    ///

    for (int cpt=0;cpt < Acompresser.length; cpt++)
    {

    try {
    inStream = new FileInputStream(Acompresser[cpt]);
    } catch (FileNotFoundException ex) {
    ex.printStackTrace();
    }
    try {
    zipoStream.putNextEntry(new ZipEntry(Acompresser[cpt]));
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    int i=0;
    try {
    while ((i=inStream.read())!=-1)
    {
    zipoStream.write(i);
    }
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    try {
    zipoStream.closeEntry();
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    try {
    inStream.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    }
    try {
    zipoStream.flush();
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    try {
    zipoStream.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    }

    }
    }

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    pense à ajouter pour que ton code soit plus clair.
    en tout cas merci pour le code.

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

Discussions similaires

  1. Créer une arborescence de dossiers avec ls
    Par Celano dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 11/06/2015, 13h48
  2. [Batch] Créer une arborescence à partir de noms de fichiers
    Par yodaragorn dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 09/10/2012, 16h50
  3. Réponses: 0
    Dernier message: 30/05/2008, 11h11
  4. Lecture d'un fichier dans un archive '.zip'
    Par Ja_buzz dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2006, 16h14

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