平时用SVN比较多,有时候项目SVN出现问题或者其它需求,于是就需要删除SVN文件,源码就产生了。 DelFileUtils.java
package com.test;
import java.io.File;
/**
*
* 递归删除目录和文件的程序
*
*
*/
public class DelFileUtils {
public static void main(String[] args) {
String rootDir = "C:/Documents and Settings/Administrator/桌面/LWUIT/";
String delDirName = ".svn";
FindDirectory(rootDir, delDirName);
}
/**
* 删除目录下指定类型文件或目录
*
* @param root
* 是根目录的绝对路径
* @param delName
* 要删的类型
*/
public static void FindDirectory(String root, String delName) {
// root是根目录的绝对路径
File directory = new File(root);
File[] files = directory.listFiles();
// 根目录为空
if (files.length == 0) {
System.out.println(root + "根目录为空!");
return;
} else {
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
// 根目录的子文件夹就是要删除的文件夹
if (files[i].getName().equals(delName)) {
System.out.println(files[i].getAbsolutePath());
DelDirectory(files[i]);
}
// 根目录的子文件夹不是要删除的文件夹
else {
FindDirectory(files[i].getAbsolutePath(), delName);
}
}
}
}
}
/**
* 删除目录以及目录下的所有文件
*
* @param directory
* 文件名
*/
public static void DelDirectory(File directory) {
File[] children = directory.listFiles();
if (children.length == 0) {
directory.delete();
System.out.println("\t删除目录" + directory.getName());
} else {
for (int i = 0; i < children.length; i++) {
if (children[i].isFile()) {
children[i].delete();
System.out.println("\t删除文件" + children[i].getName());
} else if (children[i].isDirectory()) {
DelDirectory(children[i]);
System.out.println("\t" + children[i].getAbsolutePath());
}
}
directory.delete();
System.out.println("\t删除目录" + directory.getName());
}
}
}
本文链接:https://it72.com/1115.htm