每次移植工程,都要删除工程里的.svn目录,从网上找方法,不如直接写一个小程序删除了。记下以备后用。
package com.zznode.io;
import java.io.File;
/**
* @desc:
* @since Dec 6, 2013
* @author chaisson
*
* <p>
*/
public class DeleteSVNUtil {
public static int count = 0;
//删除目录下所有.svn文件
public void deleteSVN(String filePath){
System.out.println(filePath);
File f = new File(filePath);
if(f.isFile()){
return;
}
File[] files = f.listFiles();
if(files != null && files.length > 0){
for(int i =0;i<files.length;i++){
if(".svn".equals(files[i].getName()) && files[i].isDirectory()){
deleteDirectory(files[i].getAbsolutePath());
//把内部已经清空的.svn目录删除掉
files[i].delete();
count++;
} else {
deleteSVN(files[i].getAbsolutePath());
}
}
}
}
public void deleteDirectory(String filePath){
File f = new File(filePath);
if(f.isFile()){
f.delete();
return;
}
File[] files = f.listFiles();
if(files != null && files.length > 0){
for(int i =0;i<files.length;i++){
if(files[i].isFile()){
files[i].delete();
} else {
deleteDirectory(files[i].getAbsolutePath());
}
}
} else {
//把空目录删除掉
f.delete();
}
}
/**
* @desc: How to use this method
* @since Dec 6, 2013
* @author chaisson
*
* <p>
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DeleteSVNUtil d = new DeleteSVNUtil();
String filePath = "D:\\ptn";
d.deleteSVN(filePath);
System.out.println("一共删除了"+count+"个.svn目录");
}
}