码迷,mamicode.com
首页 > 编程语言 > 详细

java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件)

时间:2018-03-04 13:04:19      阅读:970      评论:0      收藏:0      [点我收藏+]

标签:bool   package   file   else   false   over   accept   com   筛选   

package com.swift.kuozhan;

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

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

public class kuaozhan1 {

    public static void main(String[] args) {

        File dir = new File("c:/");
        if(!dir.exists()) {
            throw new RuntimeException("该文件夹不存在");
        }
        get200(dir, 0);
    }

    private static void get200(File dir, int length) {
        if(!dir.exists()) {
            throw new RuntimeException("该文件夹不无访问权限");
        }
        for (int i = 0; i < length; i++)
            System.out.print("\t");
        System.out.println(dir);
        File[] files = dir.listFiles(new FileFilter() {

            @Override
            public boolean accept(File pathname) {
                if (pathname.isDirectory())
                    return true;
                 if (pathname.isHidden())
                 return false;

                if (pathname.length() / 1024 < 200)
                    return true;
                return false;
            }

        });

        for (File file : files) {
            if (file.isDirectory()) {
                get200(file, length + 1);
            } else {
                for (int i = 0; i < length; i++)
                    System.out.print("\t");
                System.out.println("\t" + file);
            }
        }
    }
}

 

java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件)

标签:bool   package   file   else   false   over   accept   com   筛选   

原文地址:https://www.cnblogs.com/qingyundian/p/8504180.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!