Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
976 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Spliter un chemin de fichier ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Spliter un chemin de fichier ?

n°960532
roievil
Taking Fire, Need Assistance..
Posté le 24-01-2005 à 11:40:40  profilanswer
 


Bonjour, quelle est le meilleur moyen pour parser, spliter un chemin de fichier et récupérer les repertoires du chemin? le tout en JAVA
 
moi j'ai produit le code suivant qui ne fonctionne pas ;-), le split ne fonctionne pas, le String[] ne contien qu'un String
 
 

Code :
  1. /**   
  2. * @author Olivier Glorieux   
  3. *   
  4. * Cette méthode permet de vérifier que le chemin passé en paramètre
  5. * ne contient pas un repertoire d'erreur
  6. */   
  7.     public static boolean estUnRepertoireErreur(File repATester) {
  8.    
  9.      boolean result = false ;
  10.      String[] morceaux = null ;
  11.      String StringRepATester = repATester.toString() ;
  12.      System.out.println("StringRepATester " + StringRepATester) ;
  13.      morceaux = StringRepATester.split(File.pathSeparator) ;
  14.      // pour chaque repertoire du chemin, vérifier s'il ne s'agit pas
  15.      // d'un repertoire d'erreur
  16.      for(int i = 0 ; i < morceaux.length ; i++) {
  17.       System.out.println("rep " + morceaux[i] + morceaux.length) ;
  18.       if(morceaux[i].equals(CHEMIN_ERREUR_1) || morceaux[i].equals(CHEMIN_ERREUR_2)
  19.       || morceaux[i].equals(CHEMIN_ERREUR_3) || morceaux[i].equals(CHEMIN_ERREUR_4)
  20.       || morceaux[i].equals(CHEMIN_ERREUR_5)){
  21.        result = true ;
  22.       }
  23.      }
  24.    
  25.      return result ;
  26.     }

mood
Publicité
Posté le 24-01-2005 à 11:40:40  profilanswer
 

n°960720
benou
Posté le 24-01-2005 à 14:22:45  profilanswer
 

surement parce que '\' est un caractère spéciale dans la syntaxe des regexp ...


---------------
ma vie, mon oeuvre - HomePlayer
n°960752
Bidem
Posté le 24-01-2005 à 14:50:25  profilanswer
 

Il y aurait d'autres façons de procéder
 
- StringTokenizer (mais en fait, tu retomberais sur le même pb)
- méthode getParent() de la classe File (tu remonte jusqu'à la racine en testant tous les répertoires parent)
- méthode indexOf

Code :
  1. if (StringRepATester.indexOf(CHEMIN_ERREUR_1) != -1) {
  2.   return true;
  3. }

n°960905
papi moujo​t
Roulez jeunesse
Posté le 24-01-2005 à 17:14:40  profilanswer
 

bidem a écrit :

Il y aurait d'autres façons de procéder
 
- StringTokenizer (mais en fait, tu retomberais sur le même pb)
- méthode getParent() de la classe File (tu remonte jusqu'à la racine en testant tous les répertoires parent)
- méthode indexOf

Code :
  1. if (StringRepATester.indexOf(CHEMIN_ERREUR_1) != -1) {
  2.   return true;
  3. }



 
Utiliser les expression régulières (incluses au JDK depuis le 1.4).
Je suis pas un pro de ça mais tu peux créer une expression régulière qui te récupère tout ce dont tu as besoin (lettre de lecteur, répertoires du chemin, nom du fichier et extension).

n°960909
benou
Posté le 24-01-2005 à 17:19:01  profilanswer
 

ouais mais ce sera pas portable ...


---------------
ma vie, mon oeuvre - HomePlayer
n°960926
fredatisi
Posté le 24-01-2005 à 17:50:07  profilanswer
 

un pathSeparator c'est pas "\\" ou "/", c'est ":" ou ";"  
  /**
     * The system-dependent path-separator character.  This field is
     * initialized to contain the first character of the value of the system
     * property <code>path.separator</code>.  This character is used to
     * separate filenames in a sequence of files given as a <em>path list</em>.
     * On UNIX systems, this character is <code>':'</code>; on Microsoft Windows systems it
     * is <code>';'</code>.
     *
     * @see     java.lang.System#getProperty(java.lang.String)
     */
    public static final char pathSeparatorChar = fs.getPathSeparator();
 
    /**
     * The system-dependent path-separator character, represented as a string
     * for convenience.  This string contains a single character, namely
     * <code>{@link #pathSeparatorChar}</code>.
     */
    public static final String pathSeparator = "" + pathSeparatorChar;

n°960958
benou
Posté le 24-01-2005 à 18:19:01  profilanswer
 

effectivement, j'ai confondu avec fileSeparator :/


---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Spliter un chemin de fichier ?

 

Sujets relatifs
Fichier sur forum ou site mon site AidE!!!!!![Java] optimisation boucles for
Echec chargement d'Applet javabesoin d'aide pour executer du java
interface graphique en JAVATester si un fichier Excel est ouvert..
proteger l'acces a un fichier .txt par mot de passe[java] driver jdbc Postgresql
[VBA Excel] Optimisation Import d'un énorme fichier txt[java] creer un thread qui lance des exceptions
Plus de sujets relatifs à : [JAVA] Spliter un chemin de fichier ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR