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

Développement Web en Java Discussion :

getContentLength de Java


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 37
    Points : 25
    Points
    25
    Par défaut getContentLength de Java
    la fonction getContentLength fonctionne très bien avec le jdk 6, elle me retourne la taille d'une fichier sur un serveur ftp distant mais ce même code avec le jdk 7 elle me retourne -1, j'ai pas compris pourquoi
    Voila le code:
    import java.io.*;
    import java.net.*;
    public class GetURL {
    public static void main (String[] args) throws Exception {
    URL url = new URL("http://www.yahoo.com" );
    URLConnection urlConnection = url.openConnection();

    System.out.println("longueur de la page HTML retournée : " + urlConnection.getContentLength());
    /* juste pour vérifier ... */
    InputStream stream = urlConnection.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
    String line;
    while ( (line = reader.readLine()) != null) {
    System.out.println(line);
    }
    }
    }

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Alors d'après la doc de java 6 et de java 7 :
    the content length of the resource that this connection's URL references, -1 if the content length is not known, or if the content length is greater than Integer.MAX_VALUE.
    Apparemment si ton fichier est trop gros Java6 va retourner une valeur, alors que Java7 va retourner -1.

    Essaye getContentLengthLong() de Java 7.


    Edit : cela dit, je doute que le poids de la page "http://www.yahoo.com" dépasse Integer.MAX_VALUE.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 37
    Points : 25
    Points
    25
    Par défaut getContentLengthLong
    Merci pour votre réponse mais toujours il me retourne -1 même avec getContentLengthLong et avec une petite fichier toujours -1 avec jdk 7 aide moi svp

  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
    d'abord ftp et http ce n'est pas la même chose, en plus la page yahoo en question ne retourne pas de header content-length, donc comme indiqué dans la doc, la valeur n'est pas disponible.

    PS: le code que vous donnez renvoie aussi -1 en java 6, il n'y a donc pas de différence.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 37
    Points : 25
    Points
    25
    Par défaut
    Bon j'utilise ce même code mais avec un serveur ftp, la résultat avec jdk6 est la taille exacte d'une fichier mais avec le jdk7 il me retourne -1, j'ai le tester plusieurs fois sur plusieurs machine

  6. #6
    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
    il est testable ce ftp qu'on aie un exemple?

    Si tu veux du ftp fiable (et pas une implémentation basique), regarde plutot du coté des libraires tierces disponibles en java.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 37
    Points : 25
    Points
    25
    Par défaut
    j'ai rien compris, vraiment c'est simple ce code marche très bien avec le jdk 6 et non avec le jdk7
    import java.io.*;
    import java.net.*;
    public class GetURL {
    public static void main (String[] args) throws Exception {
    URL url = new URL("ftp://****:****@ftp.****.fr/****/9782021038194.xml" );
    URLConnection urlConnection = url.openConnection();

    System.out.println("longueur de la page HTML retournée : " + urlConnection.getContentLength());

    }
    }
    }
    je ne peut pas donner le mot de passe ftp

Discussions similaires

  1. le Java est la continuité du C++ ???
    Par Vincent PETIT dans le forum Débats sur le développement - Le Best Of
    Réponses: 33
    Dernier message: 25/08/2005, 20h17
  2. Envoi de Datagrames par IP en JAVA
    Par the java lover dans le forum Développement
    Réponses: 2
    Dernier message: 14/08/2002, 11h44
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

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