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

Android Discussion :

Comment zipper un fichier en java sur android ?


Sujet :

Android

  1. #1
    Membre à l'essai
    Profil pro
    Intégrateur Web
    Inscrit en
    Octobre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Comment zipper un fichier en java sur android ?
    Bonjour,

    Voici un code de zip en java qui fonctionne à priori en java mais qui me donne un fichier zip vide. Le fichier zip présente cependant la bonne taille, en fonction de ce qui a été zippé.


    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
    private void save(String zipName, String urlfich) {
    	try {
    		ZipOutputStream zip =
    			new ZipOutputStream(new FileOutputStream(zipName));
    		zip.setMethod(ZipOutputStream.DEFLATED);
    		zip.setLevel(Deflater.BEST_COMPRESSION);
    		File dataDirectories = new File(urlfich);
    		FileInputStream fis = new FileInputStream(dataDirectories);
    		byte[] bytes = new byte[fis.available()];
    		fis.read(bytes);
     
    		ZipEntry entry = new ZipEntry(urlfich);
    		entry.setTime(dataDirectories.lastModified());
    		zip.putNextEntry(entry);
    		zip.write(bytes);
    		zip.closeEntry();
    		fis.close();
    		//zipDirectory(dataDirectories, zip);
    		zip.close();
    	} catch (FileNotFoundException fileNotFound) {
    	} catch (IOException io) {
    	}
    }
    Y a-t-il autre chose à faire pour que le fichier zip contienne quelque chose ; une permission ou un code qui manque ? Merci.


  2. #2
    Membre à l'essai
    Profil pro
    Intégrateur Web
    Inscrit en
    Octobre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    J'ai trouvé le problème vient de la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ZipEntry entry = new ZipEntry(urlfich);
    il ne faut pas mettre le nom complet avec le path mais juste le nom par file.getName(); dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ZipEntry entry = new ZipEntry(file.getName());
    sans doute un problème de compatibilité de nom des répertoires entre les '/' et '\'. Ainsi les fichiers sont enregistrés dans le zip en mode racine.

    Voilou pour ceux que ça intéressera. A +

Discussions similaires

  1. [ZIP] Comment zipper un dossier avec java?
    Par david06600 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 05/05/2010, 21h22
  2. Réponses: 1
    Dernier message: 03/12/2006, 00h34
  3. Réponses: 3
    Dernier message: 31/07/2006, 15h48
  4. [Abrevia] Comment zipper un fichier sans inclure son répertoire ?
    Par DelphiSteph dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/02/2005, 20h01
  5. [Fichier Zip] Comment zipper un fichier
    Par caro_a dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 27/05/2004, 09h40

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