试完成一个函数,它递归枚举给定的目录,并将所有的.bak文件删除。但是,所有名为svn的目录将被跳过。
/**
* 递归枚举给定的目录,并将所有的.bak文件删除。但是,所有名为svn的目录将被跳过。
* lupingui
* @param path
* 2009-3-5
*/
public static void deleteFile(String path){
//如果传入的目录为空则直接退出
if (path == null){
return;
}
File dir = new File(path);
//如果传入的目录不存在或者不是目录则直接退出
if (!dir.exists() || !dir.isDirectory()){
return;
}
//如果目录本身就是SVN目录则直接退出
if (dir.getName().toLowerCase().equals("svn")){
return;
}
//循环目录下所有文件进行处理
for (File file : dir.listFiles()){
if (file.isFile()){//如果是文件
//如果是".bak"文件则删除
if (file.getName().toLowerCase().endsWith(".bak")){
file.delete();
}
}else if (file.isDirectory()){//如果是目录
//如果不是SVN文件夹
if (!file.getName().toLowerCase().endsWith("svn")){
deleteFile(file.getPath());
}
}
}
}