java 循环文件夹删除指定名称的文件
以前的项目都是用的CVS,最近公司说用SVN,所以在项目移植的时候不能直接放到SVN上面,检查发现每个文件夹下面都有CVS文件,项目文件挺多的,挨个删除不符合码农的这个名称啊,所以写了个小代码,跟大家分享一下。用java写的根据循环某个文件夹,删除指定名称的文件夹
import java.io.File; public class Disconnect { /**循环删除指定文件夹下的指定名称的文件夹 * 被删除文件夹内的所有文件和文件夹都会被删除 */ public static void main(String[] args) { String rootdir="D:/test/××××";//文件路径(最外层的目录就行) String dirtodel="CVS";//要删除的文件名称 Disconnect.rmDirs(rootdir, dirtodel); } /** * 执行删除文件夹操作的方法 * @param rootdir 文件夹所在路径 * @param dirtodel 需要删除的文件夹 */ public static String rmDirs(String rootdir,String dirtodel){ try{ File root = new File(rootdir); if(!root.exists()){ return "路径:["+rootdir+"]不存在! "; } boolean isdir = root.isDirectory(); if(!isdir){ return ""; } //当前文件夹下的所有文件 String[] allfiles = root.list(); //判断目录是否为空 if(null != allfiles && allfiles.length >= 0){ for(int i=0;i<allfiles.length;i++){ if(allfiles[i].equalsIgnoreCase(dirtodel)){ //如果遍历得到的文件夹的名称跟dirtodel相同择删除,否则遍历下一个 File curfile = new File(rootdir+"\"+allfiles[i]); if(curfile.isDirectory()){ //调用删除方法进行删除 if(Disconnect.delpaysical(curfile)){ System.out.println("删除["+rootdir+"\"+allfiles[i]+"]成功!"); }else{ System.out.println("删除["+rootdir+"\"+allfiles[i]+"]时出错,删除失败!!"); } } }else{ System.out.println(Disconnect.rmDirs(rootdir+"\"+allfiles[i], dirtodel)); } } }else{ System.out.println("目录为空"); } root = null; }catch(Exception e){ e.printStackTrace(); } return null; } /** * 删除文件夹 */ private static boolean delpaysical(File filetodel) throws Exception{ boolean f = false; String[] fl = filetodel.list(); for(int i=0;i<fl.length;i++){ File fcur = new File(filetodel.getAbsolutePath()+"\"+fl[i]); if(fcur.isDirectory()){ Disconnect.delpaysical(fcur); fcur.delete(); }else{ fcur.delete(); } } f = filetodel.delete(); return f; } }