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 :

Taille d'un fichier tirée d'un zip


Sujet :

Entrée/Sortie Java

  1. #1
    SGJ
    SGJ est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 41
    Points
    41
    Par défaut Taille d'un fichier tirée d'un zip
    Bonjour,

    J'ai le code suivant qui lit un fichier. Ce code fonctionne très bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	int nb=(int) gifFile.length();
    	byte[] datas = new byte[nb];
    	InputStream is=new InputStream(gifFile);
    	int result = fw.read(datas);
    	if (result != datas.length)
    	              System.out.println("fichier pas complètement lu");
    Maintenant les choses ont changé et au lieu de lire un fichier normal je dois le tirer d'un zip. D'où le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	InputStream is = zip.getInputStream(item);
    Comment puis-je trouver le length de ce fichier ? Ni inpustream, ni fileinputstream n'offrent une méthode de type length.

    Merci

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806

  3. #3
    SGJ
    SGJ est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    En fait, j'ai déjà essayé item.getSize() et item.getCompressedSize() mais le test ci-dessous reste faux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (result != data.length)
    	System.out.println("fichier pas complètement lu "+result+" "+nb);
    J'obtiens le résultat suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    fichier pas complètement lu 2808 2811 
    fichier pas complètement lu 3462 3465 
    fichier pas complètement lu 8158 42564 
    fichier pas complètement lu 8138 40969 
    fichier pas complètement lu 4074 4077 
    fichier pas complètement lu 8243 15358

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    parce que tu lit de travers. Quand t'as un inputstream, il faut lire jusqu'à ce que t'ai recu comme résultat '-1' qui indique la fin du stream. Rien n'oblige l'inputstream à remplir complètement ton tableau.

  5. #5
    SGJ
    SGJ est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    Tu as tout à fait raison.
    Ca marche maintenant.

    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/06/2009, 09h30
  2. Taille d'un fichier Zip
    Par danielhagnoul dans le forum Windows XP
    Réponses: 3
    Dernier message: 06/05/2009, 20h47
  3. [Debutant] Comment lire la taille d'un fichier binaire ?
    Par Invité dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/12/2003, 19h20
  4. fonction réduisant la taille d'un fichier
    Par Harry_polin dans le forum C
    Réponses: 22
    Dernier message: 27/11/2003, 13h56
  5. [VB6] [Réseau] Récupérer la taille d'un fichier avec inet
    Par pcpunch dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 20/02/2003, 21h38

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