1. 程式人生 > >java基礎 File與遞歸練習 使用文件過濾器篩選將指定文件夾下的小於200K的小文件獲取並打印按層次打印(包括所有子文件夾的文件)

java基礎 File與遞歸練習 使用文件過濾器篩選將指定文件夾下的小於200K的小文件獲取並打印按層次打印(包括所有子文件夾的文件)

tor accep length 按層 col 不存在 args name style

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的小文件獲取並打印按層次打印(包括所有子文件夾的文件)