FileDemo4~5 获取一个目录中的所有子项/部分子项

FileDemo4 获取一个目录中的所有子项

/**
 *    获取一个目录中的所有子项
 *    方法:    File[] listFiles()
 *    重载方法: File[] listFiles(FileFilter filter)
 */
public class FileDemo4 {
    public static void main(String[] args) {
        /*
         * 获取files目录中的所有内容
         */
        File dir = new File("."+File.separator+"files");
        /*
         * boolean isFile()
         * 判断当前File表示的是否为文件
         * boolean isDirectory()
         * 判断当前File表示的是否为目录
         */
        if(dir.isDirectory()){
            //获取File表示的目录中的所有子项
            File[] subs = dir.listFiles();
            for (File sub:subs){
                System.out.println(sub.getName());
            }
        }
    }
}
View Code
FileDemo5 获取一个目录中的部分子项
/**
 *    获取一个目录中符合条件的部分子项
 *    
 *    File提供了一个重载的listFiles()方法:
 *    File[] listFiles(FileFilter filter)
 */
public class FileDemo5 {
    public static void main(String[] args) {
        File dir = new File("."+File.separator+"files");

        //获取满足条件的目录或文件
        File[] subs = dir.listFiles(new FileFilter(){
            /*
             * accept 方法用于定义过滤规则
             * 当给定的参数的File对象满足要求,方法应当返回true
             */
            @Override
            /*
             * 实现accept抽象方法
             * 定义规则:满足de字母开头,并且是一个文件,不是目录
             */
            public boolean accept(File file) {
                //获取文件对象的名字
                String name = file.getName();
                //判断名字是否以de开头  并且  是否满足是一个文件
                return name.startsWith("de") && file.isFile();
            }
        });

        //遍历输出所有满足条件的文件
        for(File sub:subs){
            System.out.println(sub.getName());
        }
    }
}
View Code

 

posted @ 2016-04-30 15:07  安仔80  阅读(234)  评论(0编辑  收藏  举报