JAVA单排日记-2020/1/22-递归练习-File过滤器接口

文件过滤原则即从文件列表中遍历所有文件,并根据accept实现的过滤规则判断每一个文件是否满足过滤条件,若满足则将该文件存储到新的容器ArrayList中,最终将ArrayList以File数组的形式返回,即完成过滤过程,

1.FileFiter文件过滤器接口

实现类重写抽象方法,一个参数:

package File;

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

public class ImplFileFilter implements FileFilter {
    @Override
    public boolean accept(File file) {
        return false;
    }
}

一般如下使用:

package File;

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

public class ImplFileFilter implements FileFilter {
    @Override
    public boolean accept(File file) {
        return file.getName().endsWith(".java");
    }
}
package File;

import java.io.File;

public class Demo05 {
    public static void main(String[] args) {
        File file = new File("G:\\Java\\a.tec");
        File[] files = file.listFiles(new ImplFileFilter());//判断file 是否以.java结尾,如果是,则放到files数组
    }
}

2.FileNameFiter文件名称过滤器接口

实现类重写抽象方法:

package File;

import java.io.File;
import java.io.FilenameFilter;

public class ImpiFileNanmeFilter implements FilenameFilter {
    @Override
    public boolean accept(File file, String s) {
        return false;
    }
}

一般如下使用:

package File;

import java.io.File;
import java.io.FilenameFilter;

public class ImpiFileNanmeFilter implements FilenameFilter {
    @Override
    public boolean accept(File file, String s) {
        return new File(file,s).getName().endsWith(".java");//判断file下的s是否以.java结尾,如果是,则放到files数组
    }
}
发布了103 篇原创文章 · 获赞 1 · 访问量 2653

猜你喜欢

转载自blog.csdn.net/wangzilong1995/article/details/104073184