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

avec Java Discussion :

Doubler les "\" dans un chemin d'acces


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2014
    Messages : 51
    Points : 29
    Points
    29
    Par défaut Doubler les "\" dans un chemin d'acces
    Bonjour,

    je récupère un chemin d'accès comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String chemin = dialogue.getSelectedFile().getAbsolutePath();
    Ce qui me donne un chemin d'accès de ce type :

    c:\users\nom\Documents\fichier.txt

    Or je dois transmettre ce chemin dans une instruction mySQL de type LOAD DATA INFILE.
    Pour cela, je dois soit doubler les anti-slash, comme ceci :

    c:\\users\\nom\\Documents\\fichier.txt

    Soit remplacer le caractère "\" comme ceci :

    c:/users/nom/Documents/fichier.txt

    Je galère depuis un bon moment avec les méthodes replace et replaceAll, sans arriver à trouver la bonne syntaxe ^^'

    Quelqu'un aurait-il la bonne syntaxe svp ?

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String s = "c:\\users\\nom\\Documents\\fichier.txt"; // --> est considéré comme "c:\users\nom\Documents\fichier.txt"
     
    String s1 = s.replaceAll( "\\\\", "\\\\\\\\" ); // - Donne : c:\\users\\nom\\Documents\\fichier.txt
    String s2 = s.replaceAll("\\\\", "/");           // - donne c:/users/nom/Documents/fichier.txt
    Cdt.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2014
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Mais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String chemin = dialogue.getSelectedFile().getAbsolutePath();
    me donne bien ceci :


    String chemin = "c:\users\nom\Documents\fichier.txt";

    et non ceci :


    String s = "c:\\users\\nom\\Documents\\fichier.txt";

    donc la syntaxe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    s.replaceAll("\\\\", "/");
    ne fonctionne pas.

  4. #4
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Écrire String chemin = "c:\\users\\nom\\Documents\\fichier.txt"; et équivalent à la chaine "c:\users\nom\Documents\fichier.txt", donc ça devrait fonctionner..

    Il te sort quoi après le replace ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2014
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Autant pour moi, il s'agissait d'une erreur de ma part.

    Merci

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 630
    Points
    21 630
    Par défaut
    La bonne solution, c'est d'utiliser les PreparedStatement. Ils s'en occuperont, d'échapper les \ et tout le reste... -_-°

  7. #7
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Tant que t'as pas bouffé quelques SyntaxErrorException c'est pas évident de comprendre pourquoi

    Après honnêtement j'ai lu son post un peu en travers, j'ai même pas fait gaffe que c'était pour faire du SQL

    Mais tu as tout à fais raison de le souligner.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2014
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Je ne savais pas que les prepareStatement permettait de faire ça.

    En effet, c'est beaucoup plus simple ^^

    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/04/2013, 23h33
  2. espace dans le chemin d'accès
    Par alainb dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/12/2007, 18h38
  3. Concatenation dans un chemin d'acces.
    Par C.R.E.A.M dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 23/08/2007, 09h44
  4. SQLPlus et espace dans un chemin d'accès
    Par jleg dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 22/03/2007, 17h33
  5. Réponses: 1
    Dernier message: 19/05/2006, 19h57

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