java 去掉后缀_使用递归获取目录,删除不需要的文件后缀名称

该代码实现了一个名为SweepUnusedFiles的Java程序,用于在指定目录下查找并删除具有特定后缀的文件。程序首先定义了待删除的文件后缀列表,然后遍历目录及其子目录,对每个文件进行检查,如果文件名以列表中的后缀结尾,则删除该文件。程序提供了错误处理,当文件删除失败时会输出相应的错误信息。
摘要由CSDN通过智能技术生成

package test;

import java.io.File;

import java.util.ArrayList;

import java.util.List;

public class SweepUnusedFiles

{

public static void main(String[] args)

{

String filedir = "F:\\某个目录下";

List suffixList = new ArrayList();

suffixList.add(".db");

// suffixList.add(".tmp");

// suffixList.add(".html_zh");

// suffixList.add("_zh.js");

SweepUnusedFiles sweepUnusedFiles = new SweepUnusedFiles();

sweepUnusedFiles.startDeleteFixedFiles(filedir, suffixList);

System.out.println("执行完成!");

}

public void startDeleteFixedFiles(String filedir, List suffixList)

{

if (null == filedir || "".equals(filedir.trim()))

{

System.out.println("filedir 目录不对!");

return;

}

filedir = filedir.trim();

if (null == suffixList || suffixList.size() <= 0)

{

System.out.println("suffixList 没有要匹配的后缀!");

return;

}

File f = new File(filedir);

if (f.isDirectory())

{

handleFile(f, suffixList);

}

else

{

System.out.println("filedir 必须为目录");

/* for (String suffix : suffixList) { if (f.getName().endsWith(suffix)) { // 匹配到的要删除 try { f.delete(); }

* catch (Exception e) { System.out.println("文件删除失败:" + f.getAbsolutePath() + "\\" + f.getName()); } } } */

}

}

private void handleFile(File filedir, List suffixList)

{

// 目录

File[] files = filedir.listFiles();

for (File subFile : files)

{

if (subFile.isDirectory())

{

handleFile(subFile, suffixList);

}

else

{

// 文件

for (String suffix : suffixList)

{

if (subFile.getName().endsWith(suffix))

{

// 匹配到的要删除

try

{

subFile.delete();

System.out.println("已删除文件:" + subFile.getAbsolutePath() + "\\" + subFile.getName());

}

catch (Exception e)

{

System.out.println("文件删除失败:" + subFile.getAbsolutePath() + "\\" + subFile.getName());

}

}

}

}

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值