首页 > 其他 > 详细

FileFilter实例教程

时间:2014-04-19 13:11:52      阅读:495      评论:0      收藏:0      [点我收藏+]

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

请查阅JDK,FileFilter接口和File类。

FileFilter是一个接口,实现里面的accept方法,包含要筛选的条件。然后这个接口的实例可以传入到File的listFiles(FileFilter ff)当中,从而返回已经过滤过的文件。

以下是一个实例:

bubuko.com,布布扣
package test;

import java.io.File;
import java.io.FileFilter;

public class BakFileFilter implements FileFilter {

    @Override
    public boolean accept(File file) {
        //如果是目录的话,直接返回true 表示是满足条件的一情况
        if(file.isDirectory()) 
            return true;
        String name = file.getName();
        return name.endsWith(".bak")||name.endsWith(".BAK");
        
    }
}

class DeleteBak {
    public static void main(String[] args) {
        DeleteBak del = new DeleteBak();
        del.listAndDelete(new File("d:/"));
    }

    private void listAndDelete(File file) {
        //
        File[] fs = file.listFiles(new BakFileFilter());
        for(int i=0;i<fs.length;i++){
            if(fs[i].isFile()){
                System.out.println(fs[i].getAbsolutePath());
                fs[i].delete();
            }else{
                listAndDelete(fs[i]);    //递归去找目录的bak文件
            }
        }
    }
}
bubuko.com,布布扣

 

FileFilter实例教程,布布扣,bubuko.com

FileFilter实例教程

原文:http://www.cnblogs.com/leekenky/p/3670446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!