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

Langage Java Discussion :

Enregistrer le contenu d'un fichier distant (web) dans un fichier local


Sujet :

Langage Java

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2003
    Messages
    245
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 245
    Points : 106
    Points
    106
    Par défaut Enregistrer le contenu d'un fichier distant (web) dans un fichier local
    Bonjour,

    Je cherche désespérément une façon simple et efficace d'aller d'une "URL" à un "File". C'est possible en passant par une URLConnection mais je bloque à partir de là.

    A noter que le fichier en question est un fichier XML.

    Avez-vous une idée ? L'avez vous déjà fait ?

    Merci.

  2. #2
    Membre actif

    Étudiant
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Points : 276
    Points
    276
    Par défaut
    Bonjour,

    En effet à partir de la classe URLConnection tu peux "télécharger" un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public InputStream getInputStream()
    Ensuite c'est comme pour lire/écrire n'importe quel fichier.

    Voir la FAQ : http://java.developpez.com/faq/java/...FICHIER_copier

    A adapter bien sûr

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2003
    Messages
    245
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 245
    Points : 106
    Points
    106
    Par défaut
    J'ai finalement opté pour le client HTTP apache Jakarta, pour plus d'évolutivité (au cas où il y aurait une authentification avant l'accès au fichier, par exemple).

    Voilà ce que ça donne en gros, pour enregistrer dans un fichier temporaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    final GetMethod methode = new GetMethod(url);
    final int statut = new HttpClient().executeMethod(methode);
    final byte[] reponse = methode.getResponseBody();
    methode.releaseConnection();
     
    final File fichier = File.createTempFile("PREFIXE", "SUFFIXE");
    fichier.deleteOnExit();
    new FileOutputStream(fichier).write(reponse);

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 19/08/2010, 15h25
  2. Réponses: 2
    Dernier message: 16/07/2007, 14h13
  3. Réponses: 4
    Dernier message: 29/06/2006, 10h09
  4. copier le contenu d'une page web dans un fichier texte
    Par wassila dans le forum C++Builder
    Réponses: 30
    Dernier message: 28/08/2005, 22h27
  5. Réponses: 2
    Dernier message: 16/07/2004, 09h30

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