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 :

Récupérer un fichier depuis un serveur


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Récupérer un fichier depuis un serveur
    Bonjour,

    Je travaille actuellement sur la réalisation d'un logiciel de synchronisation de fichiers depuis un client vers un serveur en utilisant rsync.
    Ce logiciel se doit d'être multiplateforme (MAC, Linux et...... Windows). Malheureusement, rsync n'est intégré en natif qu'à MAC et Linux.
    Pour Windows, je devrais donc télécharger l'exécutable depuis mon serveur avant de pouvoir l'utiliser.

    Question : Quelles solutions s'offrent à moi en Java pour récupérer ces fichiers sur mon serveur?

    Je vous remercie d'avances pour votre aide et vos conseils avisés.

  2. #2
    Membre habitué Avatar de titourock
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 156
    Points : 190
    Points
    190
    Par défaut
    Bonjour,

    J'ai du faire la même chose hier, et je me suis tourné vers la classe ftpClient ,TelnetInputStream , TelnetOutputStream qui te permettent de récupérer un fichier présent sur ton serveur ou d'en déposer un dessus.

    Bon courage
    titourock

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 620
    Points : 15 697
    Points
    15 697
    Par défaut
    Le plus simple et qui t'éviteras une dépendance est probablement de faire par http.
    Regardes la classe java.net.URL.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Merci pour vos réponses.

    D'après les quelques recherches que j'ai fait par rapport à ce que vous me proposez, je pense partir sur la méthode via HTTP.
    La raison de ce choix réside dans le fait que je souhaiterais éviter, si possible, d'utiliser un serveur ftp.
    Cependant, j'ai consulté la javadoc de java.net.URL mais je n'ai trouvé aucun exemple me permettant de comprendre la façon dont je devrais m'y prendre.

    Aucune méthode ne permet de transférer des fichiers entre le client et le serveur.

    Quelle est la démarche à suivre?

  5. #5
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 620
    Points : 15 697
    Points
    15 697
    Par défaut
    S'il sagit simplement de télécharger un fichier sur un serveur web sans problème d'authentification ou de proxy, il suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                InputStream in = new URL("http://mon.serveur.com/chemin/rsync.exe").openStream();
                FileOutputStream out = new FileOutputStream("X:\\chemin\\rsync.exe");
     
                byte[] buffer = new byte[1024];
                int size = 0;
                do {
                    size = in.read(buffer);
                    out.write(buffer, 0, size);
                } while (size < 0);

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup! Cette fois ça marche...
    Juste une petite précision :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    do{
    ...
    }while(size > 0);

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/04/2009, 12h48
  2. Récupérer dossier et fichier depuis un serveur
    Par snowcrash dans le forum C++
    Réponses: 2
    Dernier message: 10/12/2008, 11h29
  3. [WebForms]Comment télécharger un fichier depuis le serveur ?
    Par pepin21 dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 26/04/2006, 16h26
  4. download de fichier depuis un serveur web
    Par minusette dans le forum Modules
    Réponses: 9
    Dernier message: 14/10/2005, 09h10
  5. [WebLogic] Récupérer un fichier sur le serveur...
    Par T.NightGlow dans le forum Weblogic
    Réponses: 1
    Dernier message: 29/06/2005, 15h32

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