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

Java Discussion :

accès à un fichier sur un réseau local


Sujet :

Java

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut accès à un fichier sur un réseau local
    Bonjour,
    je cherche à accéder à partir d'un programme java à un fichier situé sur un autre ordinateur de mon réseau local, le répertoire de ce fichier étant partagé grâce au partage windows.
    Le principe est de ne rien installer sur le pc distant (ni apache, ni serveur ftp). J'ai fait des tests en utilisant comme adresse "file:\\192.168.xxx.xxx\temp\toto.csv" et la classe url mais ça ne fonctionne qu'en local sur mon pc.
    Quelqu'un aurait il une idée ??

    merci

  2. #2
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Essaie avec de /, plutôt que des \.

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    autant pour moi, j'ai mal recopié.
    Dans mon programme, il y a bien des / : "file://192.168.xxx.xxx/temp/toto.csv".

  4. #4
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Que ce passe-t-il pour un poste distant (exception,...) ?

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    j'obtiens les exceptions suivantes :
    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
     
    java.net.ConnectException: Connection timed out: connect
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(Unknown Source)
    	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    	at java.net.PlainSocketImpl.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at sun.net.NetworkClient.doConnect(Unknown Source)
    	at sun.net.NetworkClient.openServer(Unknown Source)
    	at sun.net.ftp.FtpClient.openServer(Unknown Source)
    	at sun.net.ftp.FtpClient.openServer(Unknown Source)
    	at sun.net.www.protocol.ftp.FtpURLConnection.connect(Unknown Source)
    	at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(Unknown Source)
    	at gestion.Connexion.main(Connexion.java:20)

  6. #6
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Essaie avec "//192.168.xxx.xxx/temp/toto.csv"

    De mon coté, j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new File("//192.168.xxx.xxx/temp/toto.csv")
    et ça fonctionne.

  7. #7
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    salut,

    Java n'implémente pas le protocole CIFS/SMB par défaut et (d'après l'exception qui mentionne une tentative en FTP) ne demanderais pas au système d'exploitation sous-jacent d'interpréter l'URL que tu lui as passé (genre il a interprété trop vite ton URL comme du FTP qu'il pouvait gérér en interne).

    Apparemment une librairie open source implémentant un client CIFS/SMB existe: JCIFS

    L'autre solution serait de mapper ton url samba avec un lecteur sous windows (explorateur > menu tools > map network drive sous windows XP)

    EDIT: grilled par hasalex, qui a une bien meilleure solution
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Effectivement je n'avais pas pensé à File.
    Ca marche nickel.
    Merci beaucoup
    bon we.

  9. #9
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Comme le précise nouknouk, avec cette façon de faire, Java ne charge pas directement le fichier, mais demande à Windows de le faire. Ca peut poser des problèmes si le répertoire partagé est protégé par mot de passe.

    Si tu cherches une solution plus élaborée, tu devras utiliser le protocole SMB et te reporter à la réponse de nouknouk.

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

Discussions similaires

  1. ouvrir un fichier sur le réseau local
    Par balha24 dans le forum C
    Réponses: 4
    Dernier message: 14/12/2012, 14h17
  2. Réponses: 1
    Dernier message: 02/04/2010, 00h49
  3. Réponses: 3
    Dernier message: 10/03/2009, 10h07
  4. Obtenir la date d'un fichier sur un réseau local
    Par SergioMaster dans le forum Débuter
    Réponses: 2
    Dernier message: 03/09/2008, 14h49
  5. Pb d'accès à EasyPHP sur un réseau local
    Par naoufal01 dans le forum Installation
    Réponses: 10
    Dernier message: 02/11/2006, 12h52

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