在工作开发过程中,每次用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: 请看效果

java 使用递归获取指定文件路径目录,删除指定的文件后缀(可扩展,根据具体需要的删除的后缀进行配置)~~的更多相关文章

  1. java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用

    java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用 import java.io.BufferedReader; import java.io.BufferedWrite ...

  2. 【转】Java Web 项目获取运行时路径 classpath

    Java Web 项目获取运行时路径 classpath 假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么ja ...

  3. Python 获取当前脚本文件路径目录

    # -*- coding: cp936 -*- import sys,os # 获取脚本文件的当前路径 def cur_file_dir(): # 获取脚本路径 path = sys.path[0] ...

  4. Java中获取本地某一个目录下的所有文件和文件夹

    在从事web开发工作中,经常需要对本地某一个目录下的文件进行处理,而在这之前,我们需要做的就是获取到这个目录下的文件. String filepath = "D:\file";// ...

  5. Spring Boot 上传文件 获取项目根路径 物理地址 resttemplate上传文件

    springboot部署之后无法获取项目目录的问题: 之前看到网上有提问在开发一个springboot的项目时,在项目部署的时候遇到一个问题:就是我将项目导出为jar包,然后用java -jar 运行 ...

  6. Java Web 项目获取运行时路径 classpath

    假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么java文件夹和resources文件夹在运行时就是class ...

  7. 获取DLL的文件路径以及调用DLL的文件路径

    如何在DLL中,获取DLL本身的路径以及调用DLL的文件的路径呢?主要通过GetModuleFileName(HMODULEhModule,LPTSTR lpFilename,DWORD nSize) ...

  8. find tar排除指定文件或目录操作及查找文件内容关键字

    1.find查找排除单个目录 查找当前目录或者子目录下所有.txt文件,但是跳过子目录sk find . -path "./sk" -prune -o -name "*. ...

  9. Maven获取resources的文件路径、读取resources的文件

    路径问题一切要看编译后的文件路径 比如,源文件路径是: 而编译后的文件路径为: 也就是说,resources文件夹下的文件在编译后,都是为根目录,这种情况下,比如我要读取resources 文件夹下的 ...

随机推荐

  1. Singly Linked List

    Singly Linked List Singly linked list storage structure:typedef struct Node{ ElemType data; struct N ...

  2. 王爽<汇编语言>实验十

    实验十 3.数值显示(以下程序附带测试程序) ;名称: dtoc ;功能: 将dword型数据转变为表示十进制数的字符串,字符串以0为结尾 ;参数: (ax)=dword型数据低字 ; (dx)=dw ...

  3. Zookeeper 的学习与运用

    引子 云计算越来越流行的今天,单一机器处理能力已经不能满足我们的需求,不得不采用大量的服务集群.服务集群对外提供服务的过程中,有很多的配置需要随时更新,服务间需要协调工作,这些信息如何推送到各个节点? ...

  4. Atom编辑器添加eclipse快捷键

    Settings - Keybindings - 点击"your keymap file" 'atom-text-editor':  'alt-/': 'autocomplete- ...

  5. createjs 入门之EaselJs 绘制图片Bitmap

    var canvas=document.getElementById('demoCanvas'); canvas.width=window.innerWidth; canvas.height=wind ...

  6. int.Parse()、int.TryParse()和Convert.ToInt32()的区别

    1:int.Parse(一个参数)        此参数必须满足: 1 只能是字符串: 2 只能是 “整型” 字符串,即各种整型ToString()之后的形式,也不能为浮点型. 2:int.TryPa ...

  7. MySQL 升级

    http://www.oschina.net/translate/mysql-upgrade-best-practices

  8. PHP PDO的错误处理模式

    PDO默认的错误处理方式是返回一个数组格式的错误代码.如果想要判断SQL有没有出错时,就需要写一组代码来检测这个返回的数组.觉得这样有些麻烦.还好PDO还提供了另外两种处理方式,只要根据需要设置一下就 ...

  9. HBase配置性能调优(转)

    因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正. 配置优化 zo ...

  10. 小例子 熟悉jquery

    <div class="tab-head"> <h2 id="tab1" class="selected">JQGr ...