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

Collection et Stream Java Discussion :

Taille d'un dossier (zippé et non zippé)


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut Taille d'un dossier (zippé et non zippé)
    Bonjour,
    J'ai un petit soucis. Je dois zipper un répertoire, jusque là, tout va plutôt bien, il zippe le répertoire. Cependant, j'aimerais récupérer la taille du répertoire avant la compression en zip, la taille du répertoire après la compression en zip, et enfin le taux de compression. Comment puis-je faire pour obtenir ces trois valeurs ?
    Voici mon code :
    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
     
    // On crée le zip avec le nom du dossier
    zip = new ZipOutputStream(new FileOutputStream(dossier.getName() + ".zip"));
    // On définit le mode de compression
    zip.setMethod(ZipOutputStream.DEFLATED);
    // On définit le niveau de compression = BEST
    zip.setLevel(9);
     
    // On définit un répertoire avec le chemin de "dossier"
    File repertoire = new File(dossier.getPath());
     
    // On archive tous les dossiers (récursif) et fichiers
    zippeRepertoire(repertoire, zip);
     
    // On ferme le zip
    zip.close();
    Merci pour vos réponses...

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ce que tu peux obtenir au mieux avant compression sont des résultats basés sur des heuristiques grossières qui sont plus ou moins fiable. Le seul moyen d'avoir la taille compressée d'un dossier étant de le compresser. Sachant que chaque algo de compression a ses points faibles et forts, et que chaque type de fichier ne sera pas compressé de la même façon.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Ok mais comment obtenir cette taille compressée ? J'ai mon fichier zip compressé, je fais un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File fichier = (File) zip;
    longtaille = fichier.length();
    ??

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah ouais, c'est la méthode java standard pour calculer la taille d'un fichier...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Le compilateur refuse le transtypage suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File fichier = (File) zip;
    Apparemment, on ne peut pas transtyper un ZipOutputStream en File...

  6. #6
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Normal puisque zip n'est pas un objet File (ni un objet dérivé)
    Il suffit de récupérer le File directement comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File f = new File(dossier.getName() + ".zip");

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Merci ! Ca marche niquel !
    Et maintenant, comment récupérer le taux de compression en pourcentages ?

    EDIT : Est-ce possible déjà ou non ? Parceque je peux récupérer l'algorithme de compression sous forme de chiffre (entre 0 et 9) mais son taux ?

  8. #8
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Euh...
    Je dirai (tailleDuFichierZippé / tailleDuDossierNonZippé) * 100 ?


  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Jidefix, t'assure ! Merci !

  10. #10
    Membre confirmé Avatar de Jose.N70
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Par défaut
    Bonjour, je cherche aussi ces renseignements, pour la taille du zip c'est réglée , mais pour connaitre la taille du dossier avant, il n'existe rien ?

    Car en gros je voudrais savoir s'il reste assez de place sur mon disque pour zipper mon répertoire. Mais pour ça je dois connaitre la taille de ce répertoire ....

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

Discussions similaires

  1. Connaitre la taille d'un dossier
    Par mcdonald dans le forum Général Python
    Réponses: 2
    Dernier message: 01/06/2006, 21h10
  2. [BATCH]: Comparer la taille de 2 dossiers
    Par ADONET dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 19/03/2006, 15h57
  3. recupérer la taille d'un dossier...
    Par Empty_body dans le forum Langage
    Réponses: 1
    Dernier message: 03/02/2006, 16h02
  4. [batch]taille d'un dossier
    Par Crazy_warthog dans le forum Windows
    Réponses: 5
    Dernier message: 25/08/2005, 18h13
  5. Récupérer la taille d'un dossier...
    Par Life Hunter dans le forum Langage
    Réponses: 5
    Dernier message: 11/08/2005, 13h10

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