java认证:关于FileFilter使用的一点心得

文章作者 100test 发表时间 2011:03:27 09:11:35
来源 100Test.Com百考试题网


  现在要求输入一个文件的目录,之后将里面所有的备份文件删除,备份文件都是以“.bak”或".BAK"结尾
  package TestFile.
  import java.io.File.
  import java.io.FileFilter.
  /**
  *
  * 用于过滤以.bak结尾或包含.bak的文件
  * 返回值的含义是 当包含该字符串时返回true
  */
  public class ListFilter implements FileFilter{
  @Override
  public boolean accept(File file) {
  //测试指定的文件(夹)是否应该包含在指定的列表中(就是测定作为过滤的条件是否满足)
  /*
  * 如果是目录的话,直接返回true 表示是满足条件的一情况
  */
  if(file.isDirectory()) return true.
  /*
  * 如果不是目录的话,通过判断在其名字里是否含有规定的字符,
  * 因为string的index方法在不满足条件(不含有指定的字符)是返回-1
  * 所以以此来确定是否满足条件
  */
  String name=file.getName().
  /*
  * int index=name.indexOf(".bak").
  * return index!=-1.
  * 这种方法不安全,可能会删除文件名中还含有.bak的文件,备份文件还可以用.BAK结尾
  */
  return name.endsWith(".bak")||name.endsWith(".BAK").
  }
  }
  使用此类
  package TestFile.
  import java.io.File.
  /**
  * @author Administrator
  * 涉及到递归调用
  */
  public class BakDelete{
  public static void main(String[] args){
  BakDelete bd=new BakDelete().
  bd.listBakFile(new File("E:\")).
  }
  public void listBakFile(File file){
  File[] fs=file.listFiles(new ListFilter()).
  for(int i=0.i

相关文章


Java设计模式学习心得
JAVA认证辅导:Java面试中的陷阱
Java高手必会的要点
JAVA资格认证:使用Swing编写全屏程序
java认证:关于FileFilter使用的一点心得
应用技巧:Java中的异常处理
核心技术:Android移植之J2ME篇
经验分享:对Java中的线程感想(多线程)
JAVA认证:一个Java架构师的新年期望
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛