En utilisant un caractère générique, je veux traiter les fichiers dans un répertoire. Si un caractère générique est spécifié, je veux traiter les fichiers qui correspondent au caractère générique else sinon je traiterai tous les fichiers. Voici mon codeFiltrer les fichiers en utilisant un caractère générique (java)
List<File> fileList;
File folder = new File("Directory");
File[] listOfFiles = folder.listFiles();
if(prop.WILD_CARD!=null) {
Pattern wildCardPattern = Pattern.compile(".*"+prop.WILD_CARD+"(.*)?.csv",Pattern.CASE_INSENSITIVE);
for(File file: listOfFiles) {
Matcher match = wildCardPattern.matcher(file.getName());
while(match.find()){
String fileMatch = match.group();
if(file.getName().equals(fileMatch)) {
fileList.add(file); // doesn't work
}
}
}
}
else
fileList = new LinkedList<File>(Arrays.asList(folder.listFiles()));
Je ne suis pas en mesure de placer les fichiers correspondant au caractère générique dans une liste de fichiers distincte. Pls m'aide à modifier mon code afin que je puisse mettre tous les fichiers correspondant au caractère générique dans une liste de fichiers séparée. Ici, je concaténate prop.WILD_CARD dans mon expression régulière, il peut être n'importe quelle chaîne, par exemple si le caractère générique est test, mon modèle est. test (.) ?. csv. Et je veux stocker les fichiers correspondant à ce caractère générique et le stocker dans une liste de fichiers.
Je suppose que votre modèle est incorrect. Vous devez montrer le modèle et le nom de fichier que vous attendez qu'il corresponde –
@IngoKegel Non mon modèle est correct, cela fonctionne. prop.WILD_CARD peut être quelque chose par exemple si son test mon modèle est. * test (. *) ?. csv. Et je veux stocker les fichiers correspondant à ce caractère générique et le stocker dans une liste de fichiers –
La première chose est que votre 'fileList' n'est pas initialisée. La seconde consiste à imprimer 'file.getName()' et 'fileMatch' sur la console avant de les comparer. – svz