在文件目录下删除指定类型【.svn】后缀的文件功能编写 语言问题
本函数采用工具函数 + 迭代函数的模式 完成指定某个文件夹下面删除指定文件类型文件夹及所属文件的功能
实例应用:我们在重新创建待遇SVN文件的项目的时候,需要删除令人讨厌的 .svn 【版本跟踪文件】
函数如下:
工具函数:
/**
* 清空目录下的所有文件
* @param path
*/
private File clearDir;
public void clearDir(String path){
if("".equals(path) || null == path) return;
clearDir = new File(path);
if(clearDir.isDirectory()){
File[] files = clearDir.listFiles();
for(int i=0; i<files.length; i++){
if(files[i].delete() == false){
clearDir(files[i].getPath());
}
files[i].delete();
}
}
clearDir.delete();
}
//全局变量及迭代函数:
private String fileType;
public String getFileType() {
return fileType;
}
private int nums = 0; //删除条目计数
public void setFileType(String fileType) {
this.fileType = fileType;
}
private File file ;
private File fileD;
public void delFiles(String location) {
if(location == null || "".equals(location)){
return ;
}
if(fileType == null || "".equals(fileType)) return;
file = new File(location);
if(file.isDirectory()){
File[] files = file.listFiles();
for(int i=0; i<files.length; i++){
if(files[i].getName().contains(fileType)){
fileD = new File(files[i].getPath());
nums ++;
boolean b = fileD.delete();
if(!b){//表示文件夹内有文件, 此时需要迭代删除里面的文件
clearDir(fileD.getPath());
}
b = fileD.delete();
System.out.println(nums + " " + fileD.getPath() + " " + b);
}else{
delFiles(files[i].getPath());
}
}
}
}
实例检测:
public static void main(String[] args) {
// TODO Auto-generated method stub
FileUtil fu = new FileUtil();
fu.setFileType(".svn");
String location = "C:\\Users\\lzg\\Desktop\\yaohaoxiangmu";
fu.delFiles(location);
}
到此完结, 系统会删除所有的 .SVN文件夹
如有疑问 请留言 欢迎提供建议
评论已有 0 条