java输入输出(2)文件过滤器

  1. 可以通过实现FilenameFilter接口来构造文件过滤器,FilenameFilter接口有个accept方法,该方法将以次对指定的File的所有子目录或者文件进行迭代,但需要注意的是,这个方法并不是返回满足条件的文件以及目录,而是返回 一个布尔值,如果该方法返回真 ,那么file实例的list方法就会列出满足条件的文件和目录。以下为代码实例,具体的讲解穿插在代码中
    import java.io.File;
    import java.io.FilenameFilter;
    
    public class FilenameFilterTest {
        public static void main(String args[]){
            File file = new File(".");
    //        创建一个File实例,位置为当前目录
            
            String[] nameList = file.list(new MyFilenameFliter());
    //        把MyFilenameFliter的实例作为参数传入File实例的list的方法中,如果MyFilenameFliter对象的accept返回真,那么list方法
    //        就会列出满足条件的文件名,类型为字符串数组。
            
            for(String name : nameList){
                System.out.println(name);
            }
    //        以次输出满足条件的文件名
        }
    }
    //MyFilenameFilter类实现FilenameFilter接口,并重写accept方法,返回文件以.txt结尾和是目录是的文件
    class MyFilenameFliter implements FilenameFilter {
        public boolean accept(File dir, String name){
            return name.endsWith(".txt") || new File(name).isDirectory();
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_39452731/article/details/82078176