最近了解了一下java如何实现垃圾文件清理,现简要的将主要代码记录一下,谈一下自己的理解。
第一步 我们需要查找出磁盘下的所有文件
第二步 截取文件后缀
第三步 遍历比较是否为垃圾文件名后缀
第四步 删除文件
下为主要代码:
import java.io.File;
public class GarbageRemove {
static String[] scanInfo={"tmp","css"};//简单举例清理文件的后缀
public static void main(String[] args){
GarbageRemove grm=new GarbageRemove ();
File file=new File("H:/");//清理H盘
grm.fileOut(file);//开始工作
}
//找到所有文件
public void fileOut(File file){
File[] data=file.listFiles();//先找到子目录
if(null!=data){
for(File f:data){
if(f.isDirectory()){//判断是否为目录
fileOut(f);//递归调用
}else{
if(trimStr(f.getName())){//比较后缀名是否相同
f.delete();//删除文件
System.out.println("delete file "+f.getName());
}
}
}
}else{
System.out.println("there is no file");
}
}
//获得后缀,并调用函数判断
public boolean trimStr(String str){//
boolean flag=false;
if(str!=null&&str.length()>0){//是否为空,长度大于0
int num=str.lastIndexOf(".");//截取后缀
if(num>-1&&num<str.length()){
String res=str.substring(num+1, str.length());
//judge res whether in scaninfo
flag=isDelFile(res);//比较
}
}
return flag;
}
//比较后缀是否相同
public boolean isDelFile(String str){
boolean flag=false;
for(String s:scanInfo){
if(s.equals(str)){
flag=true;
}
}
return flag;
}
}
这是本人的简要实现 ,如果错误,敬请见谅,可以一起讨论~