Я хочу удалить все файлы (не папки) в этой структуре, которая содержит имя «_bla»
вот мой код, но он довольно громоздкий
Знаете ли вы более аккуратный способ сделать это?
Код: Выделить всё
cleanDirectoryAccordingToBlackList(Constants.RESOURCES_PATH, ImmutableList.of("_bla"));
Код: Выделить всё
public void cleanDirectoryAccordingToBlackList(String root, List blackList) {
File dir = new File(root);
if (dir.isDirectory()) {
File[] files = dir.listFiles();
if (files != null && files.length > 0) {
for (File aFile : files) {
removeFilesInDirectory(aFile, blackList);
}
}
}
}
public void removeFilesInDirectory(File file, List blackList) {
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null && files.length > 0) {
for (File aFile : files) {
removeFilesInDirectory(aFile, blackList);
}
}
} else {
for (String name : blackList) {
if (file.getName().contains(name)) {
file.delete();
}
}
}
}