java基礎 File與遞歸練習 使用文件過濾器篩選將指定文件夾下的小於200K的小文件獲取並打印按層次打印(包括所有子文件夾的文件)
阿新 • • 發佈:2018-03-04
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(newFileFilter() { @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的小文件獲取並打印按層次打印(包括所有子文件夾的文件)