遞歸查找文件夾內所有文件

如何查找某個目錄下文件及所有子文件夾下的文件

思路:將if判斷條件分佈進行,先判斷文件存在,把文件夾也放進來循環
在循環中判斷是否是文件夾,是則遞歸調用自身,把當前文件夾內的文件打印出來

import java.io.File;

/**
 * @author Administrator
 *
 */
public class Java_3
{
    public static void main(String[] args)
    {
        getFile("F:\\", "  ");
    }

    /**
     * 封裝實現文件查找功能的類
     * @param path 傳入要遍歷的文件目錄 
     * @param tab 傳入空格,區分文件夾及其子文件夾
     */
    public static void getFile(String path, String tab)
    {
        File file = new File(path);

        if (file.exists())
        {   //文件存在 用File類數組接收目錄下所有的文件的抽象路徑
            File[] listFile = file.listFiles();

            //遍歷目錄下所有文件判斷是否爲文件夾
            for (File file2 : listFile)
            {
                System.out.println(tab + file2.getName());
                // 如果是目錄,把當前目錄和taB作爲參數傳入,調用自身,
                if (file2.isDirectory())
                {//傳入子文件夾路徑並換行
                    getFile(file2.getPath(), tab + "\t");
                }
            }

        }
    }
}

控制檯輸出:

控制檯輸出.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章