在工作开发过程中,每次用SVN提交代码全选择的时候,发现会产生很多不需要的文件后缀垃圾文件,感觉挺烦人的,一个一个删太麻烦了,如果产生多种后缀文件时,那删起来多费劲,是吧?想想,就写了一段程序通过递归进行处理,虽然网上有很多这样的代码,但是我感觉都有问题,网上的代码很多都需要拿过来执行一下才知道有没有问题,如果是多层目录结构的时候,会把你的相同文件名称也干掉,而我写的这个即使是需要删除的文件后缀名称跟文件名一样都不会删掉。每次提交之前我都执行一下再提交,这样就不会有哪些不需要的后缀文件了。这个还是比较实用,分享给大家,希望能让更多的人,提高开发效率。

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<String> suffixList = new ArrayList<String>();
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<String> 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<String> 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());
}
}
}
}
}
}
}

ps: 请看效果

最新文章

  1. matlab中patch函数的用法
  2. solr&amp;lucene3.6.0源码解析(四)
  3. action 方法的访问
  4. Oracle【IT实验室】数据库备份与恢复之五:Flashback
  5. 【翻译】How To Tango With Django 1.5.4 第一章
  6. 读propert文件
  7. php js表单登陆验证
  8. ASP.NET MVC3快速入门——第四节、添加一个模型
  9. mysql distinct&amp;group by 应用
  10. 初识EF
  11. android脚步---图片浏览
  12. C++第二天学习
  13. java课程设计——算术运算测试个人博客
  14. mariaDB vs mysql
  15. QWaitCondition 的思考2
  16. HackerRank beautiful string
  17. iPython网页启动
  18. Mindoc搭建流程
  19. js实现二分搜索法
  20. linux基础——磁盘分区和yum安装

热门文章

  1. POI2012
  2. comboBox 手动输入后回车自动更新数据
  3. How To: Samba4 AD PDC + Windows XP, Vista and 7
  4. (转)网上总结的 NIPS 201 参会感受
  5. 修改msde登录方式,设置sa密码为空
  6. Keepalive双主搭建配置
  7. div加边框
  8. 单点登录SSO
  9. 【学】jQuery的源码思路4——增加一些功能
  10. 1.ARM的基础知识