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 :

Lire un fichier distant


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 86
    Points : 44
    Points
    44
    Par défaut Lire un fichier distant
    Salut,
    J'aimerais savoir quelle serait la meilleur solution pour lire un fichier distant qui ne réside pas sur un serveur web?(Donc sans http)
    J'ai pensé à sftp en utilisant jcraft mais je ne peux pas lire le fichier à moins de le downloadé...J'aimerais ne recevoir que son contenu et non le mettre sur le système de fichier local.(corrigé moi si vous connaissez un moyen de faire ceci avec sftp avec Java)

    J'ai aussi pensé à mettre un petit serveur sur le poste distant et utilisé un socket qui déclencherais la lecture du fichier à partir du serveur et qui lui, retournerais le contenu, mais j'aimerais savoir si vous connaissez une solution plus standard avec un protocole déjà existant? car j'aimerais ne pas mettre mettre un programme serveur sur l'autre poste (À moins bien sur d'etre un serveur sftp etc.).

    Merci.

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Si tu veux lire des fichiers sur un poste distant, il FAUT, sous quelque forme que ce soit, un RESEAU, et un PROTOCOLE. Tu ne PEUX PAS y échapper.

    Apparement, il semble qu'il y ait un réseau. C'est bien. Pour le protocole, on sait qu'il n'y a pas de serveur web, mais c'est tout ce que l'on sait...

    Mon conseil Examine la machine distante ; peut être y a-t-il déjà un protocole serveur ? (ftp, telnet, voisinage réseau...) Et dis-nous ce que tu vois.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 86
    Points : 44
    Points
    44
    Par défaut
    En faite j'ai déjà regardé et il y a sftp (donc bien-sur ssh). Le problème est que j'aimerais recevoir seulement le contenu du fichier et non le fichier car je ne veux pas le sauvegarder en local. Je pourrais faire un Share mais j'aimerais ne pas faire cela.

    Le but est d'afficher sur le web les logs d'un autre serveur. Je ne veux donc pas qu'il se crée un fichier sur le serveur web à chaque refresh de la page...
    Je pourrais bien sur le lire puis le supprimer mais c'est pour cette raison que je voudrais seuelement son contenu car sinon c'est un étape de plus pour rien.

    Merci.

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Mais quel paquetage utilises-tu pour lire le fichier ?... Normalement, quel que soit le paquetage, tu reçois un flux de données, que tu exploites ensuite comme tu veux ; si tu ne veux pas de fichiers, alors tu ne fais pas de fichiers, c'est aussi simple que cela.

    Peut être n'utilises-tu pas de paquetage, mais que tu exploites simplement des commandes système ? Peut être alors pourras-tu faire ton marché avec la classe Process, qui permet d'exploiter les flux entrant et sortant d'une commande shell.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 86
    Points : 44
    Points
    44
    Par défaut
    En faite, je regardais du côté de Jcraft pour faire du sftp.
    Cependant, son interface de methodes indique que je dois nécessairement
    downloader le fichier en locale pour le lire. Ce que je ne veux pas.
    (Ça fais du sens considérant que c'est du "file transfer protocole")

    Je sais que je pourrais lire ce fichier en local puis le supprimer ensuite mais je trouve que ça fais malpropre et pas complètement "thread-safe" à moins de faire attention. Ça me donnerais donc une étape inutile de trop et compliquerait le code.

    La solution que j'ai en ce moment est de mettre un share en Windows et montrer ce share avec samba sur ma machine linux.
    Ensuite je pourrais faire mon new File("path du nfs") .
    Je pourrais donc lire le flux de données du fichier et l'afficher dans ma table sur mon serveur web(qui est sur la machine linux) sans downloader ce fichier en locale.
    Mais si possible,j'aimerais ne pas faire de share.

    Tu parles de paquetage, en connais-tu un qui qui functionnerais pour ce que je veux faire? Par exemple, un paquetage englobant un protocole dans le même style que sftp mais permettant de seulement recevoir le flux comme tu dis? C'est exactement ça que j'aimerais trouver car je n'en trouve pas.

    Merci.

  6. #6
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Moi j'utilise Commons Net (mais j'ai pas vu sftp dans la liste des protocoles supportés, c'est pour ça que je ne t'en ai pas parlé).

    Dans les commons, VFS (Commons Virtual File System) pourrait aussi t'interresser.

    Peut être aussi pourras-tu trouver des choses à Open Source Network Clients in Java.

Discussions similaires

  1. lire un fichier distant sous PL/SQL
    Par islamov2000 dans le forum PL/SQL
    Réponses: 15
    Dernier message: 25/03/2008, 18h45
  2. Réponses: 3
    Dernier message: 26/02/2007, 11h49
  3. lire un fichier distant
    Par Thargor dans le forum Coldfusion
    Réponses: 1
    Dernier message: 27/11/2006, 16h48
  4. Lire un fichier distant avec SSH
    Par Fritzoune dans le forum Langage
    Réponses: 3
    Dernier message: 06/09/2006, 12h24
  5. Comment lire un fichier distant ?
    Par reski dans le forum Langage
    Réponses: 1
    Dernier message: 03/09/2006, 13h52

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