import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.regex.*;
public class FilterTest {
public static void main(String[] args){
File file=new File("E:\\学习资料\\JAVA资料");
printFile(file);
}
public static void printFile(File file) {
File[] files=file.listFiles(new FileFilter(){
@Override
public boolean accept(File pathname){
String[] video_strs = {".avi",".wmv",".MPEG",".MP4"};
boolean res_bool = false;
for (String video_str:video_strs) {
if (pathname.getName().endsWith(video_str)) {
res_bool = true;
}
}
return res_bool || pathname.isDirectory();
}
});
//循环打印
final ArrayList<String> strings = new ArrayList<String>();
for(File file_:files){
if (file_.isDirectory()) {
FilterTest.printFile(file_);
}
else{
String fileName = file_.getName();
// 第一个解决方法切片
// String[] splitStr = fileName.split("-");
// 第二个解决方案 正则匹配
System.out.println(fileName);
Pattern r = Pattern.compile("([0-9]{0,3})");
Matcher matcher = r.matcher(fileName);
if (matcher.find()) {
System.out.println("matcher.group(0):"+matcher.group(0));
// 如果不包含
if (!strings.contains(matcher.group(0))){
strings.add(matcher.group(0));
// 如果包含
}
else{
file_.delete();
System.out.println("删除文件 " + file_.getName() + " 成功");
}
}
else {
System.out.println("匹配不到该参数: "+ fileName);
}
}
}
}
}
JAVA 文件的递归删除
最新推荐文章于 2024-03-11 17:17:02 发布