平时用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());
		}
	}
}
本文链接:http://it72.com/1115.htm