J'ai un problème lors de la suppression de fichiers du répertoire img en utilisant org.apache.commons.io.FileUtils. J'utilise ce code:Comment supprimer un fichier correctement?
File dir = new File(".\\img");
FileFilter fileFilter = new WildcardFileFilter(userId + ".*");
File[] files = dir.listFiles(fileFilter);
System.out.println("files found: " + files.length);
for (int i = 0; i < files.length; i++) {
boolean success = FileUtils.deleteQuietly(files[i]);
System.out.println(files[i] + " delete result = " + success);
}
}
En fait, le code est utilisé pour remplacer les fichiers image qui existaient dans le répertoire img avec le nouveau. J'ai besoin de supprimer tous les fichiers précédemment existants dont les noms sont n. *, Avec le nouveau fichier par exemple. n.png. Si j'essaye de supprimer des fichiers d'image, j'obtiens une fausse valeur pour le succès de la variable et les fichiers ne sont pas supprimés. Mais pas les fichiers image, par exemple. *.abc; * .acd; * .acdc etc. sont supprimés avec succès. Quel est le cas de ce problème?
Il y a un support de fermeture à la fin sans support d'ouverture correspondant, et l'indentation est bizarre. Y a-t-il une instruction if manquante dans le code? –
Pourriez-vous fournir un échantillon de la sortie? – phss
Pourquoi ne pas essayer d'appeler 'fichiers [i] .delete()', et voir quelle exception est levée. –