Java 文件夾遞歸遍歷

import java.io.File;

public class Demo1 {  
    public static void main(String[] args) {  
        File dir=new File("D:\\CCC");//瀏覽F盤a文件夾下的全部內容  
        listFile(dir,"");  
    }  
public static void listFile(File dir,String spance)  
    {  
        File[] files=dir.listFiles();   //列出全部的子文件  
        for(File file :files)  
        {  
            if(file.isFile())//若是是文件,則輸出文件名字  
            {  
                System.out.println(spance+file.getName());  
            }else if(file.isDirectory())//若是是文件夾,則輸出文件夾的名字,並遞歸遍歷該文件夾  
            {   
                System.out.println(spance+file.getName()); 
                listFile(file,"|--"+spance);//遞歸遍歷  
            }  
        }  
    }
} 

解壓效果以下:java

 在項目中,每每會遇到,遍歷文件夾中的文件,分清裏面配置文件的父子關係,代碼以下:ui

/**
     * 文件夾遍歷
     * @param path
     * @throws Exception
     */
    public void traverse(String path,String parent_id) throws Exception {
        System.out.println("path---->" + path);
        File file = new File(path);
        Map<String, Object> map = new HashMap<String, Object>();
        if (file.exists()) {
            File[] files = file.listFiles();
            if (files.length == 0) {
                System.out.println("文件夾是空的!");
                return;
            } else {
                String k_id = UuidUtil.get32UUID();
                for (File file2 : files) {
                    if (file2.isFile()){//文件
                        if (file2.getName().endsWith(".cfg")) {
                            System.out.println("文件:" + file2.getAbsolutePath());
                            map = readCfg(new FileInputStream(file2));
                            System.out.println("-------------"+file2.getAbsolutePath()+"--start-----------");
                            map.put("k", kvalue);
                            parent_id = k_id;
                            System.out.println("-------------"+file2.getAbsolutePath()+"--end-----------");
                        }
                    }
                }
                for (File file2 : files) {
                    if (file2.isDirectory()) {//文件夾
                        traverse(request,file2.getAbsolutePath(),parent_id);
                        parent_id =  k_id;
                    }
                }
            }
        } else {
            System.out.println("文件不存在!");
        }
    }
相關文章
相關標籤/搜索