前置条件:从另外一个电脑传了一些文件过来,但视频文件是不能使用的,所以想批量删除这些视频文件。
package lambdaDemo;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class deleteFiles {
private static void deleteFile(File ...files) {
//应用框架-spring源码(xml解析)
for (File file : files) {
// 过滤出视频
File[] listFiles3 = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.equals("视频");
}
});
if (null != listFiles3 && listFiles3.length > 0) {
for (File fileDir : listFiles3) {
File[] listFiles4 = fileDir.listFiles();
for (File delete : listFiles4) {
if (delete.isFile()) {
if (delete.delete()) {
System.out.println(delete.getName() + "文件删除成功");
}
}
}
//文件夹只有为空时才能被删除
if (fileDir.delete()) {
System.out.println("文件夹删除成功");
}
}
}else {//沒有到含有视频那层文件夹,使用递归
deleteFile(file.listFiles());
}
}
}
public static void main(String[] args) {
int i = 0;
String[] paths = {"F:\\BaiduNetdiskDownload\\大数据","F:\\BaiduNetdiskDownload\\高并发分布式","F:\\BaiduNetdiskDownload\\搜索引擎",
"F:\\BaiduNetdiskDownload\\性能优化","F:\\BaiduNetdiskDownload\\应用框架"};
for(String path:paths) {
File file = new File(path);
deleteFile(file.listFiles());
}
}
}