在windows上,从别处复制的项目中可能带有.svn文件夹,手动删除太麻烦,并且每个文件夹下都有。所以写了个程序进行删除。因为.svn文件夹在windows上是只读的,所以用File中的delete()和deleteOnExist()方法都不能将其删除,所以只能采用windows命令方式进行删除,这里仅仅删除的是文件夹,删除文件需要大修!有时间再把它完善一下,代码如下!写的不好,请见谅!
import java.io.File;
public class DeleteSpecificFolder {
public static void deleteFolder(File file) throws Exception {
File[] listFiles;
String name = null;
Runtime runtime = Runtime.getRuntime();
//删除以.svn结尾的文件夹
if (file.getName().endsWith(".svn")) {
name = file.getAbsolutePath().toString();
//调用windows命令强制删除
runtime.exec("cmd /c rd/s/q " + file.getAbsolutePath());
System.out.println("删除文件:" + name);
} else {
if (file.isDirectory()) {
listFiles = file.listFiles();
if (listFiles != null)
for (File f : listFiles) {
deleteFolder(f);
}
}
}
}
public static void main(String[] args) throws Exception {
//要删除的项目名称,绝对路径
deleteFolder(new File("C:/Users/Logic/Downloads/Zigbee_Node"));
}
}