JAVA 文件的递归删除

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);
                }
            }
        }

    }
}

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页