java基础之File

删除指定后缀的File文件

    今天整理之前的下载的视频文件,发觉目录下有很多网站的快捷方式和一些不需要的文件,
    对于有轻微强迫习惯的我,是看不惯的,就想到用学到的java知识,来删除这些文件.
import java.io.File;

/**
 * File工具类
 */
public class FileUtils {

    /**
     * 删除指定路径下的指定后缀的文件
     * 
     * @param filePath
     * @param suffix
     */
    public static void deleteFile(String filePath, String[] suffixs) {
        File rootFile = new File(filePath);
        if (filePath == null || !rootFile.exists()) {
            throw new RuntimeException("指定的路径不存在!");
        }
        if (rootFile.isFile()) {
            // 说明指定的路径是文件
            boolean suffix = checkFileSuffix(rootFile, suffixs);
            if (suffix) {
                System.out.println(rootFile.getAbsolutePath());
                rootFile.delete();
            }
        } else {
            // 说明指定的路径是目录
            deleteAllFile(rootFile, suffixs);
        }
    }

    /**
     * 删除所有的指定的后缀的文件
     * 
     * @param directory
     *            指定目录
     * @param suffixs
     *            指定后缀
     */
    private static void deleteAllFile(File directory, String[] suffixs) {
        File[] files = directory.listFiles();
        if (files != null) {
            for (File file : files) {
                if (file.isDirectory()) {
                    deleteAllFile(file, suffixs);
                } else {
                    boolean b = checkFileSuffix(file, suffixs);
                    if (b) {
                        System.out.println(file.getAbsolutePath());
                        file.delete();
                    }
                }
            }
        }
    }

    /**
     * 校验文件是否以指定的后缀结尾
     * 
     * @param file
     * @param suffix
     * @return
     */
    private static boolean checkFileSuffix(File file, String[] suffixs) {
        boolean b = false;
        String path = file.getAbsolutePath();
        for (String suffix : suffixs) {
            if (path.endsWith(suffix)) {
                b = true;
            }
        }
        return b;
    }

}

/**
 * File测试类
 */
public class FileTest {

    public static void main(String[] args) {
        // 常见的快捷方式的后缀:  .url  .lnk
        String[] suffixs = { "xxxxxx.lnk", "xxxxxx.url" };
        String filePath = "D:/xxxxxx/xxxxx";
        FileUtils.deleteFile(filePath, suffixs);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值