Accèder à un serveur

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 - 7 mai 2007 à 10:00
 javaside - 23 mai 2007 à 12:54
Bonjour,
Je suis actuellement en stage et mon entreprise m'a confié la tâche de migrer une application java tournant sous un environnement Windows sur Linux.
Le problème, c'est que l'ancien programmeur avait fait des accès à des lecteurs réseaux qui ne marche que sur Windows, à savoir des chemins du genre "\\le_serveur\le_dossier\...
Moi, sur Linux, j'ai voulu remplacer les "\" par des "//", logique, puis après je me suis dis que sur Linux il faut doubler, donc "////".
La classe File utilise une méthode, "normalize()", qui, quelque soit le nombre de '/', me laissera qu'un seul '/' (j'ai même essayé d'en mettre 40 à la suite, rien a faire, mon nom de fichier s'appellera toujours "file:/le_serveur/le_dossier/")
Donc voilà, j'aimerais savoir si quelqu'un connaitrait la solution, à savoir que j'ai essayé avec des URL et URI mais bon c'est uniquement des liens vers des fichiers je crois et non pas des dossiers.

Merci de vos réponses.

22 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
7 mai 2007 à 10:57
Je comprend pas trop ton probleme
mais pour faire "" il faut faire \\ car \c'est le caracteres d'echappement.
Pour le / c'est un caractere normal, il n'y a pas besoin de faire //
et si la methode normalize remplace les 40 / par 1 seul c'est peut etre que c'est le role qu'elle a.

++
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 mai 2007 à 11:03
En fait moi je veux accéder à un dossier partagé sur un serveur distant.
D'où l'utilisation d'un sorte de lien "file://patati/patata"
Mais si je fais ça, la fonction normalize de la classe File me retire les slahs en trop donc ça me donne ca : "file:/patati/patata"
J'ai un peu fouillé sur le net et, en fait, je sais pas si c'est possible avec une classe File d'accèder à un serveur réseau.
Mon but "ultime" est de lister le contenu du dossier et sous dossier, la classe File fournit des méthodes bien pratiques pour ça.
Voilà, merci de vos réponses.
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
7 mai 2007 à 11:09
Essaye d'enlever la fonction normalize.
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 mai 2007 à 11:11
Ben en fait j'aurais bien voulu mais c'est dans java.io.File, fichier déjà compilé, enfin je sais pas si on peut réécrire le fichier source.
Il faudrait que je réécrive la classe File...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
7 mai 2007 à 11:20
De toute façon je ne suis pas sur que tu puisse ouvrir des fichiers distant via la classe File. A mon avis il faut passer par système de ftp.
++
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 mai 2007 à 11:23
Je pense aussi, mais bon maintenant comment faire pour passer par un système de ftp? Quelle classe utiliser? Je ne sais vraiment pas comment faire.
Merci de ton aide, laurent1024.
+
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
7 mai 2007 à 11:25
Je pense que si tu cherche sur le site tu risque de trouver des choses toutes faites.
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 mai 2007 à 11:35
Ok je vais fouiller sur la toile.
Si quelqu'un connait une méthode pour lister le contenu d'un dossier sur le réseau, je suis preneur.
Merci, +
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
9 mai 2007 à 08:11
Bon alors après ce repos de un jour, me revoilà!
Et bien sur, en ayant cherché un peu partout le résultat n'est pas fort concluant.
Par le Ftp, ça a l'air cool, facile...mais cela aurait été trop beau! En effet,l'entreprise dans laquelle je suis est équipée d'un proxy et donc je pense que ça brouille un peu tout.
Je me suis toujours renseigné sur la classe File et, visiblement, File ne s'utilise que dans son pc et non pas sur le réseau.
Que faire? Je suis un peu à court d'imagination là...
____________________________________________________________________
C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
9 mai 2007 à 08:54
En premier lieu essaye d'utiliser un client ftp pour te connecter a ton serveur, si tu y arrive tu a de l'espoir de pouvoir le faire marcher.
++
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
9 mai 2007 à 09:04
Alors en fait, dans la fonction openServer de la classe FtpClient, j'ai vu qu'il y avait 2 fonctions : une sans int et l'autre avec. Ca correspond au port je crois.
En mettant le port adéquat, j'obtiens un message d'erreur :
Welcome message: HTTP/1.1 408 Connection timed out while reading request

... Dommage, presque.
De plus, avec un client Ftp (gFTP pour moi), j'ai la meme erreur.
Une idée?
<hr size="2" width="100%" />C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
9 mai 2007 à 09:07
Le ftp est peut etre desactivé ou bloqué sur ton serveur. Il faut peut être essayer de renvoyer les fichiers via le protocole http, mais la je ne sais pas trop comment ca marche dsl.
++
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
9 mai 2007 à 09:11
Je sais qu'il existe une classe HttpClient... pourquoi pas, après tout je suis plus à ça près.
Je suis derrière un proxy aussi, mais bon ça reste du local...
Bref, http? allé va pour http, on verra bien
Entre Laurent, faut se serrer les coudes
Merci de me répondre
+
<hr size="2" width="100%" />C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
9 mai 2007 à 09:17
L'avantage du http c'est que c'est le seul protocole qui est toujours présent sur les serveurs normalement.
pour l'instant je vois pas d'autres solution
++
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
9 mai 2007 à 09:57
Bon maintenant, étant donné que je connais guère la classe HttpClient, un nouveau problème apparait, je me connecte au serveur, ça marche, mais comme le constructeur prend en paramètre un objet de type URL, je pense pas que HttpClient soit fait pour lister le contenu d'un dossier etc...
<hr size="2" width="100%" />C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
9 mai 2007 à 10:02
Il faut que tu fasse un programme sur le serveur qui permettre de lister le contenu d'un répertoire et de renvoyer les fichiers que tu veux recuperer.
++
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
9 mai 2007 à 10:17
Je n'ai pas le droit malheureusement de toucher au serveur (et ouais, tant qu'à avoir des contraintes, autant en avoir à fond!)

________________________________________________________________________
C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
9 mai 2007 à 10:24
Si ton serveur est son linux tu peux tenter une connexion ssh ou sftp mais je tu risque de tomber sur les meme pbs.
+
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
9 mai 2007 à 10:35
---> Windows, attends moi je fais les choses bien
________________________________________________________________________
C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
9 mai 2007 à 10:39
la je crois que j'ai épuisé toutes mes idées.
Dsl je vois plus de solutions
0
Rejoignez-nous