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 :

[librairie zip] problème manipulation archive


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 30
    Points
    30
    Par défaut [librairie zip] problème manipulation archive
    Bonjour tout le monde,


    je rencontre quelques souçis avec une application qui réalise périodiquement des archives de fichiers de répertoires donnés.
    L'archivage se déroule bien mais lorsqu'un fichier doit s'ajouter à une archive existante, je perds son ancien contenu... (archives crées en fonction des dates de création de fichiers).

    Le prog doit être utilisé sous windows et donc je ne peux utiliser les lignes de commandes jar.....

    merci d'avance...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 304
    Points : 348
    Points
    348
    Par défaut
    Quand tu veux ajouter un nouveau fichier dans une archive existante, tu perds le contenu de l'archive? il ne reste plus que tout nouveau fichier dedans? Je ne suis pas sûre d'avoir compris.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    c'est exactement ça, je récupère mon archive contenant seulement le nouveau fichier...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 304
    Points : 348
    Points
    348
    Par défaut
    Fais voir un peu de code

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    Voila ....


    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
    public class CreatArchive {
    	static final int BUFFER = 2048;
     
    	public CreatArchive(String destination,Vector archive,Vector nom) {
    		for (int j=0;j<archive.size();j++) {
    		   Vector fichier = new Vector();
    		   fichier = (Vector)archive.elementAt(j);
    		   if (fichier.size()>0) {
    		       try {
    		           FileOutputStream dest = new FileOutputStream(destination + "/" + (String)nom.elementAt(j) + ".zip");
    		           CheckedOutputStream checksum = new CheckedOutputStream(dest, new Adler32());
    		           BufferedOutputStream buff = new BufferedOutputStream(checksum);
    		           ZipOutputStream out = new ZipOutputStream(buff);
    		           out.setMethod(ZipOutputStream.DEFLATED);
    		           out.setLevel(Deflater.BEST_COMPRESSION);
    		           byte data[] = new byte[BUFFER];
    		           File nomFich;
    		           for (int i=0;i<fichier.size();i++) {
    		    	       nomFich = (File)fichier.elementAt(i);
    		    	       if (!nomFich.isDirectory()) {
    			              FileInputStream fi = new FileInputStream(nomFich);
    			              BufferedInputStream buffi = new BufferedInputStream(fi, BUFFER);
    			              ZipEntry entry = new ZipEntry(unAccent(nomFich.getName()));
    			              out.putNextEntry(entry);
                              int count;
                              while((count = buffi.read(data, 0, BUFFER)) != -1) {
                                  out.write(data, 0, count);
    			              }
                              out.closeEntry();
                              buffi.close();
    		    	        }
    		           }
    			       out.close();
    			       buff.close();
    			       checksum.close();
    			       dest.close();
    		       } 
    		       catch(Exception e) {
    			       e.printStackTrace();
    		       }
    		       for (int i=0;i<fichier.size();i++) {
    			       File fich = (File)fichier.elementAt(i);
    			       fich.delete();
    		       }
    		    }
    		 }
    	}
     
    	public static String unAccent(String s) {
    		String temp = Normalizer.normalize(s, Normalizer.DECOMP, 0);
    		return temp.replaceAll("[^\\p{ASCII}]","");
    	}
    }

  6. #6
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    effectivement l'ajout d'un fichier dans une achrvi n'est pas faisable directement.

    le principe est de créer une nouvelle archive avec l'ancienne plus le nouveau fichier.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    d'accord merci bien... je vois maintenant comment je vais m'y prendre pour mon appli (répertoire temporaire)


    bonne continuation, à bientôt sur de prochain sujet...

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

Discussions similaires

  1. Problème avec la librairie Zip
    Par mariek dans le forum Langage
    Réponses: 3
    Dernier message: 17/04/2009, 10h35
  2. [Zip] Problème de création d'archives (Zip.lib.php)
    Par BOUHAMOU dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 24/04/2006, 13h51
  3. Creation de librairies dynamique... Problème !
    Par Franck.H dans le forum Linux
    Réponses: 12
    Dernier message: 24/06/2005, 12h18
  4. Problème d'archive-recover
    Par alxkid dans le forum Administration
    Réponses: 6
    Dernier message: 14/06/2004, 16h15
  5. [Zip] Problème accent et zip
    Par MrEddy dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 04/06/2004, 12h40

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