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

Collection et Stream Java Discussion :

[Regexp] pattern pour trouver des fichiers par exclusion d'extension


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 24
    Points : 18
    Points
    18
    Par défaut [Regexp] pattern pour trouver des fichiers par exclusion d'extension
    Bonjour,

    Je galère un peu avec les expressions régulières pour trouver des fichiers selon une pattern du type :
    "tous les fichiers dont l'extension est différente de txt" ou
    "tous les fichiers dont l'extension est différente de (txt et csv)" ou
    "tous les fichiers dont l'extension est différente de txt et qui ne s'appellent pas toto.gif"

    Pas compris comment exprimer les négations sur une terminaison de mot.

    Si quelqu'un a une idée, je suis preneur !

    Merci à tous

    Sylvain Caillet

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Pour les extensions tu n'est pas obligé de passer par les expressions régulière, la méthode endsWith() de la classe String suffit. Pour les noms de fichiers non voulus, la méthode equals() me semble convenir.
    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
    20
    File file = ...;
    List<String> badExtensions = ...; // ou un tableau
    List<String> badFileNames = ...; // ou un tableau
     
    boolean accept = true;
    for(String badExtension : badExtensions) {
        if(file.getName().endsWith(badExtension)) {
            b = false;
            break;
        }
    }
    if(accept) {
        for(String badFileName : badFileNames) {
            if(file.getName(badFileName).equals()) {
                accept = false;
                break;
            }
        }
    }
    System.out.println(file.getName() + " is" + (accept ? "" : "NOT") + " a valid file");
    Si tu tiens à passer par les expressions régulières :
    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
    20
    21
    22
    23
    24
    25
    26
    File file = ...;
    List<String> badExtensions = ...; // ou un tableau
    List<String> badFileNames = ...; // ou un tableau
     
    StringBuilder sb = new StringBuilder("(.+\\.(");
    boolean addPipe = false;
    for(String badExtension : badExtensions) {
        if(addPipe) {
            sb.append('|');
        } else {
            addPipe = true;
        }
        sb.append(badExtension);
    }
    sb.append("))");
    addPipe = false;
    for(String badFileName : badFileNames) {
        if(addPipe) {
            sb.append('|');
        } else {
            addPipe = true;
        }
        sb.append(Pattern.quote(badFileName));
    }
    boolean accept = !file.getName().matches(sb.toString());
    System.out.println(file.getName() + " is" + (accept ? "" : "NOT") + " a valid file");
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

Discussions similaires

  1. [KSH] Script pour trier des fichier dans des répertoires par mois
    Par MsieurDams dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 08/08/2014, 14h32
  2. Réponses: 11
    Dernier message: 12/06/2014, 13h39
  3. JAR utilisé pour lire des fichiers par une application
    Par flow10000 dans le forum Entrée/Sortie
    Réponses: 22
    Dernier message: 12/05/2013, 22h54
  4. [Batch] Boucle For pour parser des fichiers + exclusion
    Par L'assembleur dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 04/07/2011, 15h41
  5. Réponses: 1
    Dernier message: 15/09/2006, 16h23

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