[Java] File类 递归 获取目录下所有文件/文件夹

package com.xiwi;

import java.io.*;
import java.util.*;

class file{
    
    public static void main(String args[]){
        
        System.out.println("file Go...");
        
        // 这里改成你要遍历的目录路径
        recursiveFiles("F:\\fileText");
        
        System.out.println("file End.");
        
    }

    /**
     * Xiwi
     * 遍历文件/文件夹 - 函数
     * [String]path        文件路径
     */
    private static void recursiveFiles(String path){
        
        // 创建 File对象
        File file = new File(path);
        
        // 取 文件/文件夹
        File files[] = file.listFiles();
        
        // 对象为空 直接返回
        if(files == null){
            return;
        }
                
        // 目录下文件
        if(files.length == 0){
            System.out.println(path + "该文件夹下没有文件");
        }
        
        // 存在文件 遍历 判断
        for (File f : files) {
            
            // 判断是否为 文件夹
            if(f.isDirectory()){
                
                System.out.print("文件夹: "); 
                System.out.println(f.getAbsolutePath());  
                
                // 为 文件夹继续遍历
                recursiveFiles(f.getAbsolutePath());
                
            
            // 判断是否为 文件
            } else if(f.isFile()){
                
                System.out.print("文件: "); 
                System.out.println(f.getAbsolutePath());  
                
            } else {
                System.out.print("未知错误文件"); 
            }
            
        }
        
    }
    
}

 

posted @ 2018-02-22 22:12  Xiwi  阅读(10001)  评论(0编辑  收藏  举报