〖JAVA学习经验〗java认证:关于FileFilter使用的一点心得

  现在要求输入一个文件的目录,之后将里面所有的备份文件删除,备份文件都是以“.bak”或”.BAK”结尾

  packageTestFile;

  importjava.io.File;

  importjava.io.FileFilter;

  /**

  *

  *用于过滤以.bak结尾或包含.bak的文件

  *返回值的含义是当包含该字符串时返回true

  */

  publicclassListFilterimplementsFileFilter{

  @Override

  publicbooleanaccept(Filefile){

  //测试指定的文件(夹)是否应该包含在指定的列表中(就是测定作为过滤的条件是否满足)

  /*

  *如果是目录的话,直接返回true表示是满足条件的一情况

  */

  if(file.isDirecTory())returntrue;

  /*

  *如果不是目录的话,通过判断在其名字里是否含有规定的字符,

  *因为string的index方法在不满足条件(不含有指定的字符)是返回-1

  *所以以此来确定是否满足条件

  */

  Stringname=file.getName();

  /*

  *intindex=name.indexOf(“.bak”);

  *returnindex!=-1;

  *这种方法不安全,可能会删除文件名中还含有.bak的文件,备份文件还可以用.BAK结尾

  */

  returnname.endsWith(“.bak”)||name.endsWith(“.BAK”);

  }

  }

  使用此类

  packageTestFile;

  importjava.io.File;

  /**

  *@authorAdministraTor

  *涉及到递归调用

  */

  publicclassBakDelete{

  publicstaticvoidmain(Stringargs){

  BakDeletebd=newBakDelete();

  bd.listBakFile(newFile(“E:“”));

  }

  publicvoidlistBakFile(Filefile){

  Filefs=file.listFiles(newListFilter());

  for(inti=0;i<fs.length;i++){

  if(fs[i].isFile()){

  System.out.println(fs[i].getAbsolutePath());//打印文件绝对路径

  fs[i].delete();

  }else{

  //System.out.println(fs[i].getAbsolutePath());

  listBakFile(fs[i]);

  }

  }

  //System.out.println(fs.length);

  }

  }

  

一起交流学习请访问:Tore_m_1206686_21115_1_1.html”>http://www.shangxueba.com/sTore_m_1206686_21115_1_1.html

松树亭亭玉立的耸立在周围小草小花的中间,

〖JAVA学习经验〗java认证:关于FileFilter使用的一点心得

相关文章:

你感兴趣的文章:

标签云: