强制删除.svn文件夹

 

        在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"));
	}
}

 

你可能感兴趣的:(java)