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

Entrée/Sortie Java Discussion :

Fichiers et wildcards


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1
    Par défaut Fichiers et wildcards
    Bonjour,

    J'ai cherché, mais sans succès, un moyen simple de récupérer une liste de fichiers (File[] ou bien String[] avec des noms complets) à partir d'une expression comportant des wildcard (par exemple: c:\monRepertoire\2006\*\??\*-???-log.* ). Aucun code des bibliothèques standars ne semblent capable de le faire - ou alors il faut entièrement redéfinir un java.io.FilenameFilter pour qu'il gère les caractères *, ?, etc...

    Connaissez vous une bibliothèque classique - à défaut de standard - qui le fasse? Ou vais-je être obligé de tout faire à la main? :-)

    Par avance, merci!

    Luis

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Si tu veux simplement gérer les wilcard ? et * ce n'est pas très dur à faire : il suffit de transformer le wilcard en une expressions régulières...


    J'utilise ce code pour des wilcards sur le nom du fichier seulement :
    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
    16
    17
    18
    19
    class WilcardFileFilter implements FileFilter {
     
    	final Pattern pattern;
     
    	public WilcardFileFilter(String wildcard) {
    		String regexp = Pattern.quote(wildcard)
    			.replace("*", "\\E.*\\Q")
    			.replace("?", "\\E.\\Q")
    			.replace("\\Q\\E", "");
     
    		System.out.println(regexp);
     
    		this.pattern = Pattern.compile(regexp);
    	}
     
    	public boolean accept(File pathname) {
    		return this.pattern.matcher(pathname.getName()).matches();
    	}
    }
    En remplacant pathname.getName() par pathname.getPath() tu devrais trouver ton bonheur...

    a++

Discussions similaires

  1. [Batch] Suppressionr fichier avec wildcard
    Par beno38 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 02/06/2013, 15h11
  2. tests sur l'existence de fichier avec wildcards
    Par kheper dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 16/08/2007, 18h55
  3. fichier mappé en mémoire
    Par WinBernardo dans le forum Delphi
    Réponses: 7
    Dernier message: 01/12/2006, 09h38
  4. Lire 1 bit d'un fichier en C
    Par Anonymous dans le forum C
    Réponses: 3
    Dernier message: 23/05/2002, 18h31
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

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