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 :

obtenir la taille d'un fichier à partir de son URL


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 30
    Points : 18
    Points
    18
    Par défaut obtenir la taille d'un fichier à partir de son URL
    Voila j'ai fait un code pour télécharger un fichier
    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
     
     
    		try { //prise en compte des exceptions obligatoire
    			URL url = new URL(PATH) ; //on localise le le fichier à télécharger
    			InputStream is = url.openStream() ; //on ouvre un flux de lecture sur le fichier à télécharger
    			int longueur = is.available() ; //on demande le nombre de bytes disponible
    			PrintStream ps = new PrintStream(new FileOutputStream(F)) ; //on créer un flux d'écriture sur le fichier local
    			int count = 0 ;
    			byte[] b = new byte[longueur] ; //tableau de byte utiliser pour sotcker les donnée telecharger
    			while(true) { //boucle sans fin
    				int len = is.read(b,0,longueur) ;
    				if (len == -1) break ; //si read renvoit -1, c'est que le téléchargement est terminer
    				count += len ; //count = count + len se qui permet d'avoir le total télécharger
    				ps.write(b,0,len) ;
    			}
    			ps.close() ; //on ferme le flux d'écriture
    		}
    		catch (Exception e) {
    			System.out.println("Erreur : " + e) ; en a une
    		}
    je précice que len et le nombre de bytes que read place dans le tableau b
    il faut rappeler read puis additioner tous les len pour avoir le total mais coment avoir le total en ayant pas encors télécharger le fichier

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il ne faut pas utiliser openStream() mais openConnection() qui permet de manipuler la connection plus facilement, et d'avoir plus d'info comme la taille avec getContentLength()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    URL url = new URL(PATH) ; //on localise le le fichier à télécharger
    URLConnection con = url.openConnection();
    int taille = con.getContentLength(); // récupère la taille
     
    InputStream is = con.getInputStream() ; //on ouvre un flux de lecture sur le fichier à télécharger
     
    ...
    Toutefois cette information peut ne pas être envoyé par le serveur (-1 dans ce cas).

    Et je te conseille d'utiliser des try/finally pour la fermeture des flux...

    a++

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    merci pour cette reponse je vient d'essayer mais le serveur me repond -1
    n'y à t-il pas une autre solution ?
    sinon je ferrai sans...

    @+

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par djanos
    merci pour cette reponse je vient d'essayer mais le serveur me repond -1
    n'y à t-il pas une autre solution ?
    Si le serveur ne renvoi pas l'info je ne vois pas comment tu pourrais l'avoir...


    Si tu télécharges ce fichier avec un navigateur, la taille est affiché ou pas ?

    a++

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    je vient d'essayer pour un autre fichier et sa marche !!
    merçi beaucoup et effectivement mon navigateur de m'indique pas la taille non plus pour les fichier precedant

    a+

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

Discussions similaires

  1. [PHP 5.3] Obtenir le nom d'un fichier à partir d'une url dynamique
    Par Invité dans le forum Langage
    Réponses: 3
    Dernier message: 19/03/2012, 11h02
  2. [WD14] Récupération de la taille d'un fichier à partir d'une URL
    Par link256 dans le forum WinDev
    Réponses: 4
    Dernier message: 28/01/2010, 16h47
  3. obtenir la taille d'un fichier
    Par Wael Maaoui dans le forum Général Python
    Réponses: 1
    Dernier message: 26/04/2007, 16h01
  4. Réponses: 1
    Dernier message: 18/02/2007, 19h33
  5. Comment obtenir la taille d'un fichier?
    Par Bruno29 dans le forum Flash
    Réponses: 3
    Dernier message: 16/01/2007, 20h05

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