我有以下文件夹结构,其中包含一些zip文件,xml文件和文件夹。我想清除除Result folder and Report folder.
File theDir = new File(filePath+"Process/");
FileUtils.cleanDirectory(theDir);
文件夹结构:
过程
如果你做downvote请指明原因
答案 0 :(得分:2)
FileUtils.cleanDirectory
方法不允许选择性清理。你需要编写自己的方法,如下所示:
void cleanDirectory(File dir) {
for (File file: dir.listFiles()) {
if(file.getName().equals("Result folder") || file.getName().equals("Report folder")) {
//do nothing
} else {
//delete file
file.delete();
}
}
答案 1 :(得分:0)
您始终可以使用filenamefilter列出所有文件
因此,您可以创建要删除的文件对象(目录/文件)列表
String pendingDelete[] = new File("/path/to/dir").list(new FileNameFilter() {
public boolean accept(File dir, String name) {
if (name.equals("Result folder") || name.equals("Report folder")){
return false;
}
return true;
}
});
for (String s : pendingDelete) {
new File(s).delete();
}
String pendingDelete[] = new File("/path/to/dir").list(new FileNameFilter() {
public boolean accept(File dir, String name) {
if (name.equals("Result folder") || name.equals("Report folder")){
return false;
}
return true;
}
});
for (String s : pendingDelete) {
new File(s).delete();
}