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 :

problème chemin et slash


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut problème chemin et slash
    Bonjour,

    J'ai un programme qui doit récupérer dans un fichier .properties un chemin vers un autre fichier. Pour l'instant rien de compliqué.

    Mon programme doit tourner sous windows & linux et le chemin inscrit peux prendre les formes suivantes :
    - c:\Programes Files\Monprog
    - \\192.168.0.1\Monprog
    - /opt/MonProg

    Pour l'instant le premier je récupère c:\\Programes Files\\Monprog
    le second me retourne : \\192.168.0.1Monprog sans le slash de séparation. Troisième pas encore testé.

    Mon premier problème c'est de pouvoir récupérer le chemin sans erreurs qu'il soit en local distant sous windows ou linux.

    Deuxième problème Je dois accéder à un fichier dans sous répertoire et donc ajouter MonSousRep\mon_fichier.txt

    j'ai fais comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String separateur = java.io.File.separator;
     
    String CheminFichierALire = prop.getChemin()+separateur+"ressources"+separateur+"monfichier.txt";
    avec prop.getChemin qui me renvoie une des trois résultats affichés au-dessus.

    Pour le premier cas il me retourne :
    c:\\Programes Files\\Monprog\\ressources\\monfichier.txt
    Ca marche c'est cool
    \\192.168.0.1Monprog\\ressources\\monfichier.txt forcément ca va pas...
    vu que je suis sous windows il me retourne separateur == \\ alors que c'est un chemin réseau.
    Troisième pas testé.

    Merci.

  2. #2
    Membre Expert
    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
    Par défaut
    Les valeurs des chemins des fichiers, style \\192.168.0.1\Monprog sont obtenues comment par ton programme ? C'est un fichier de properties que tu écris toi même ? C'est à partir du code que tu nous montres ?

  3. #3
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Je récupère le chemin vers une appli dans un fichier.
    Et dans un deuxième temps je vais chercher un fichier dans un répertoire spécifique, donc je suis obligé de compléter le chemin.

  4. #4
    Membre Expert
    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
    Par défaut
    Donc au départ tu as le nom du fichier, donc particulièrement ce \\192.168.0.1\Monprog, dans un fichier texte que tu as édité toi même ?... Ce n'est pas un fichier de propriétés ?

    En ce cas il est étrange que tu perdes le \ ; soit il y a une erreur de lecture, mais plus probablement une erreur d'affichage : si tu le fais par System.out.println, alors le \ est considéré comme une erreur. En fait il y est, mais tu ne le vois pas.

    Pour générer tes paths de fichiers, je te conseille de procéder de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    File dir = new File("pathVersDir"); 
    File fPlusLoin = new File(dir, "plusLoin");
    File fEncorePlusLoin = new File(fPlusLoin, "encorePlusLoin");
    Etc.

  5. #5
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Argghh ca marche pas mieux si j'ai un chemin du style c:\.. ca passe mais si j'ai chemin réseau ca va pas..

    La récupération dans le fichier properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Parametres conn = new Parametres();
    		Properties properties	= new Properties();
    		//récup du chemin du fichier 
    		try {
    			properties.load(new FileInputStream(fichierParam));
    			conn.setUrl(new File(properties.getProperty("valeurDuPath")));
    		}catch ...
    Mon fichier .properties

    valeurDuPath=\\192.168.0.40\MonRep
    la récup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    File dir = conn.getUrl();
    File rep = new File(dir, "bin");
    File fichierIni = new File(rep,"unfichier.ini");

    Je passe ca au débug et j'ai les valeurs suivantes :


    dir = \192.168.0.40Logolab

    fichierIni = \192.168.0.40Logolab\bin\unfichier.ini
    RAAAaaaahhhhhhhhhhh!!!!

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Même dans le fichier properties, il faut échapper les caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \\\\192.168.0.40\\MonRep

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

Discussions similaires

  1. Problème avec MetaFilenameFilter (slash dans des String)
    Par Sylver--- dans le forum Langage
    Réponses: 6
    Dernier message: 14/08/2007, 14h16
  2. probléme chemin d'application
    Par laaroussi1 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 02/05/2007, 22h56
  3. Problème chemins relatifs lors du déboguage
    Par jomeo dans le forum Visual C++
    Réponses: 5
    Dernier message: 03/04/2007, 16h04
  4. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 15h59
  5. Réponses: 1
    Dernier message: 01/03/2005, 21h36

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