JAVA 清理垃圾文件简单实现
2015-12-19 20:56
591 查看
最近了解了一下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;
}
}
这是本人的简要实现 ,如果错误,敬请见谅,可以一起讨论~
第一步 我们需要查找出磁盘下的所有文件
第二步 截取文件后缀
第三步 遍历比较是否为垃圾文件名后缀
第四步 删除文件
下为主要代码:
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;
}
}
这是本人的简要实现 ,如果错误,敬请见谅,可以一起讨论~
相关文章推荐
- Jdk1.7环境变量的配置
- java中的异常
- java(九)双重for循环
- java 注解
- 实战WEB 服务器(JAVA编写WEB服务器)
- java实现简单web服务器(分析+源代码)
- Java中常见的5种WEB服务器介绍
- Struts2基于注解的Action配置
- 一个例子让你了解Java反射机制
- Mac eclipse 连接 手机调试
- JAVA的Date类与Calendar类【转】
- 正则表达式
- PAT乙级测试题及JAVA参考例程
- 【Java EE 学习 78 上】【数据采集系统第十天】【Service使用Spring缓存模块】
- ArrayList LinkList Vector
- java web session+cookie实现用户自动登录
- java初始化顺序
- Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别
- Java中equals和==的区别
- 【Java EE (Struts2 + Spring + Hibernate)开发】 :Hibernate(二)之【关联映射|继承映射|批量处理】