J'ai besoin de vérifier si certains fichiers existent dans un répertoire en utilisant Java mais le nom du fichier a un motif. Par exemple, le nom du fichier est recap_data_03082017.txt et les chiffres à la fin changent constamment. Est-il possible d'effectuer une recherche en utilisant un caractère générique comme recap_data _ *. CsvRechercher un fichier dans un répertoire en utilisant des caractères génériques
Répondre
Si vous utilisez Java 8, vous pouvez essayer ce qui suit,
try (Stream<Path> paths = Files.walk(Paths.get("/your/path/"), 1)) {
return paths
.filter(Files::isRegularFile)
.anyMatch(f -> {
final String fileName = f.getFileName().toString();
return fileName.startsWith("ecap_data_") && fileName.endsWith(".csv");
});
} catch (IOException e) {
e.printStackTrace();
}
Cela fonctionne très bien mais je n'ai pas réussi à trouver comment renvoyer vrai ou faux en tant que déclaration de retour pour ma méthode parce que j'ai trouvé que c'est très syntaxe compliquée –
Désolé, je viens de réaliser que vous voulez vérifier si le fichier avec le motif existe –
C'est OK;) il a résolu 90% du problème pour moi :) Merci –
Qu'est-ce que vous avez essayé jusqu'à présent? –
avez-vous essayé string.contains()? – isaace
org.apache.commons.io.FilenameUtils.wildcardMatching (nomFichier, wildCard) mais c'est trop compliqué –