首页 > 其他 > 详细

File类文件过滤器筛选文件

时间:2020-06-13 19:54:30      阅读:58      评论:0      收藏:0      [点我收藏+]

File类文件过滤器筛选文件

使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印(包括所有子文件夹的文件)。

正确答案:

package com.test.Test02;

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

public class Test07 {
    public static void main(String[] args) {
        filterFile(new File("E:\\abc"));
    }

    private static void filterFile(File dir) {
        if(dir.isFile()){
            System.out.println(dir+"不是文件夹");
            return;
        }
        if(!dir.exists()){
            return;
        }

        //获取文件数组
        File[] files = dir.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                //判断是否是文件夹,如果是返回true
                if (pathname.isDirectory()) {
                    return true;
                }

                //获得文件大小
                long length = pathname.length();
                if (length < 400) {
                    return true;
                }
                return false;
            }
        });
        
        //遍历数组
        for (File file : files) {
            if(file.isDirectory()){
                filterFile(file);
                continue;
            }
            System.out.println(file);
        }
    }
}
/*
打印的结果:
E:\abc\code\Demo01.java
E:\abc\file03.txt
E:\abc\HelloWorld.java
E:\abc\IT书籍\C从入门到放弃.pdf
E:\abc\IT书籍\Java从入门到精通.pdf
E:\abc\哈利波特.txt
E:\abc\朝花夕拾.txt
E:\abc\流浪地球.avi
E:\abc\百年孤独.txt
*/

自己的步骤:

package com.test.Test02;

import java.io.File;

public class Test06 {
    public static void main(String[] args) {
        //使用文件过滤器筛选将指定文件夹下的小于2K的小文件
        //获取并打印(包括所有子文件夹的文件)。
        decide(new File("E:/abc"));

    }

    private static void decide(File dir) {
//        if (dir != null && dir.length() != 0) {
            //遍历
            File[] files = dir.listFiles();
            for (File file : files) {
                if (file.isFile()) {
                    if (file.length() < 400) {
                        System.out.println("file = " + file);
                    }
                } else {
                    decide(file);
                }
            }

//        }
    }
}


/*
打印的结果:
file = E:\abc\code\Demo01.java
file = E:\abc\file03.txt
file = E:\abc\HelloWorld.java
file = E:\abc\IT书籍\C从入门到放弃.pdf
file = E:\abc\IT书籍\Java从入门到精通.pdf
file = E:\abc\哈利波特.txt
file = E:\abc\朝花夕拾.txt
file = E:\abc\流浪地球.avi
file = E:\abc\百年孤独.txt

*/

File类文件过滤器筛选文件

原文:https://www.cnblogs.com/liqiliang1437/p/13121463.html

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