package com.delete.dir;
import java.io.File;
/**
*首先编译类文件:javac com\delete\dir\Delete.java
*其次运行该文件:
*java com.delete.dir.Delete C:\\Users\\sjs\\Desktop\\projectName
*或者编写批处理文件delete.bat,内容为:
*java com.delete.dir.Delete C:\\Users\\sjs\\Desktop\\projectName
*/
public class Delete {
/**
* @param args
*/
public static void main(String[] args) {
// String filePath =
// "C:\\Users\\sjs\\Desktop\\projectName";
String filePath = args[0];
System.out.println("filePath::" + filePath);
// File path = new File(filePath);
delete(filePath);
}
private static void delete(File file) {
if (file.isDirectory()) {
if (file.getName().indexOf("svn") >= 0) {
deleteSVN(file);
}
File[] subs = file.listFiles();
if (file.exists()) {
for (File sub : subs) {
delete(sub);
}
}
} else {
if (file.getName().endsWith(".class")) {
if (file.delete())
System.out.println("delete>>>>>>>>>>>>>>" + file.getAbsolutePath() + file.getName());
}
}
}
private static void deleteSVN(File file) {
if (!file.isDirectory()) {
if (file.delete())
System.out.println("delete>>>>>>>>>>>>>>" + file.getAbsolutePath() + file.getName());
} else {
File[] subs = file.listFiles();
if (subs.length < 1) {
if (file.delete())
System.out.println("delete>>>>>>>>>>>>>>" + file.getAbsolutePath() + file.getName());
}
if (file.exists()) {
for (File sub : subs) {
deleteSVN(sub);
}
}
}
}
private static void delete(String fileName) {
File file = new File(fileName);
if (file.exists()) {
delete(file);
}
}
}