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 :

Decouper un zip en plusieurs fichiers


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Points : 110
    Points
    110
    Par défaut Decouper un zip en plusieurs fichiers
    Bonjour,

    je cherche une façon de générer des .zip d'une taille maximum du même fichier au lieu de créer un seul zip.

    Comment s'y prendre ?

    Des librairies connues pour faire cela ?

    Je vous remercie,


    Gal'

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Pas facile car la taille d'un zip n'est connue qu'à la fin. Il faudrait donc faire différentes combinaisons et les zipper à chaque fois pour vérifier. Ca va prendre énormément de temps !
    N'est-il pas plus simple de faire un découpage binaire ? Tout dépend de l'utilisation qui en est faite par la suite.

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Points : 110
    Points
    110
    Par défaut
    La taille finale, on en a pas besoin pour découper si ?

    Je pensais encoder dans un buffer.... puis le vider par paquets de la taille voulue. Le dernier paquet faisant une taille inférieure ou égale à la limite.

    Ce n'est pas possible ?

    Gal'

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par Galevsky Voir le message
    La taille finale, on en a pas besoin pour découper si ?

    Je pensais encoder dans un buffer.... puis le vider par paquets de la taille voulue. Le dernier paquet faisant une taille inférieure ou égale à la limite.

    Ce n'est pas possible ?

    Gal'
    Tu te contredis avec ton premier post, ou alors je n'ai pas compris. D'après ton premier post, je pensais que :
    1. il y a x fichiers de départ,
    2. il faut y fichiers zippés,
    3. les y fichiers ont tous une taille similaire.

  5. #5
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Ce n'est finalement que découper un fichier en plusieurs parties. C'est bien évidemment possible selon la méthode sus-citée par toi-même.

    Peut-être la librairie java fournie par 7z (LZMA) permettrait d'être plus pointu au niveau compression.

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    Tu te contredis avec ton premier post, ou alors je n'ai pas compris.
    Tu n'as pas compris.

    1. il y a x fichiers de départ,
    J'ai pas dis ça, on se fiche de ce qu'il y a au départ, y'a un stream (peut-être concaténation de plusieurs sources ou pas), et on veut le compresser... le résultat doit être plusieurs fichiers zip au lieu d'un seul.

    Citation Envoyé par natha
    Peut-être la librairie java fournie par 7z
    Oui mon idée était de demander si une librairie existait déjà ou pas pour le faire. Apparemment non. En revanche le pb est plus compliqué que cela ne peut paraître. Je m'explique: avec 7zp (logiciel sous windows) je génère une archive multi-fichiers, je suis capable de lire ces fichiers en simplement concaténant les fichiers pour ne considérer qu'un gros zip... et faire pareil de mon côté si je veux les générer, donc potentiellement ouvrir mes zip générés avec 7zp (derrière j'ai des clients finaux qui doivent les manipuler en dehors de mon appli).

    En revanche le même bout de code pour lire un multi-fichier généré par WinZip ne marche pas: la concaténation n'est pas la solution. Donc c'est pas génial car pas loin d'être universel.

    Concernant LMZA, j'ai télécharger ce qu'ils appellent honteusement un SDK. Le code porté sous Java est dans un état déplorable, aucune documentation, bref, ça fonctionne tout en reverse engineering sur du code vraiment pas beau. Il va me falloir passer un brin de temps pour me servir de l'encoder car j'ai fais un test perso à la va-vite basé sur ce que contient le main() de l'outil fournit, et ça finit en exception... donc la gestion des paramètres et des défauts doit être très sale, et i lne suffit pas d'appeler l'encodeur de façon basique.

    Si j'ai le temps, je regarderais un peu plus en détails cette librairie.... en revanche quand on regarde le portage du code C en Java, on pleure....

    Gal'

  7. #7
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Euh le format zip ne prévoie pas de support pour le multi-fichiers. Si WinZip le supporte c'est une fonctionnalité du logiciel mais pas dans les specs du format (mais je peux me tromper).
    A contrario les formats RAR et 7z le supporte.

    Donc si tu veux une solution propre, il ne faut pas faire de zip.

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par natha Voir le message
    Euh le format zip ne prévoie pas de support pour le multi-fichiers. Si WinZip le supporte c'est une fonctionnalité du logiciel mais pas dans les specs du format (mais je peux me tromper).
    A contrario les formats RAR et 7z le supporte.

    Donc si tu veux une solution propre, il ne faut pas faire de zip.
    Tout à fait.... et apparemment WinZip fait quelque chose de plus compliquer que de découper bêtement à la bonne taille.

    Donc pour trouver une lib 7z, j'ai rien trouvé hormis le fameux SDK, sinon pour RAR ? tu as une lib à me citer ?


    Je te remercie.

    Gal'

  9. #9
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Aucune idée. Désolé.
    J'ai voulu utiliser LZMA mais le gzip inclu dans Java m'a suffit.

Discussions similaires

  1. Zip plusieur Fichier
    Par miabi dans le forum Langage
    Réponses: 2
    Dernier message: 07/11/2011, 12h01
  2. Réponses: 2
    Dernier message: 21/10/2011, 14h11
  3. chargement plusieur fichier tar(zip)
    Par taoufiqENSIAS dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 14/04/2009, 22h34
  4. [Zip] Unzip plusieurs fichiers
    Par Angelsafrania dans le forum ASP.NET
    Réponses: 4
    Dernier message: 02/09/2008, 12h15
  5. [Zip] Transformer plusieurs fichiers en fichier zip
    Par Anakior dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 14/12/2005, 15h27

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