1. 程式人生 > >輸出某個目錄下的所有檔案和資料夾,包括子資料夾中的內容

輸出某個目錄下的所有檔案和資料夾,包括子資料夾中的內容

IO流中File類中有個listFiles() 方法,它可以返回一個抽象路徑名陣列,這些路徑名錶示此抽象路徑名錶示的目錄中的檔案。此時用這個方法來講檔案中的所有路徑儲存在一個數組中,在去判斷這個陣列中哪些路徑是資料夾,繼續用listFiles() 方法來遞迴運算
File中有兩個方法可以去判斷一個是資料夾還是檔案:
boolean isDirectory()
測試此抽象路徑名錶示的檔案是否是一個目錄。
boolean isFile()
測試此抽象路徑名錶示的檔案是否是一個標準檔案。

演示:isDirectory()方法判斷是否為資料夾

import java.io.File;
import java.io.FilenameFilter;

/**
 * 列印某個目錄下的所有檔案和資料夾(包括子資料夾中的內容)
 * 
 * @author wql
 * 
 */
public class Num1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File file = new File("./src/");
        method(file);

    }

    private
static void method(File file) { File[] list = file.listFiles(); for (int i = 0; i < list.length; i++) { if (!list[i].isDirectory()) { //isDirectory()方法判斷是否為資料夾 System.out.println(list[i].getName()); } else { System.out.println(list[i].getName()+ "..........資料夾.........."
); method(list[i]); //遞迴呼叫 } } } }

演示:isFile() 方法判斷是否為檔案

import java.io.File;
import java.io.FilenameFilter;

/**
 * 列印某個目錄下的所有檔案和資料夾(包括子資料夾中的內容)
 * 
 * @author wql
 * 
 */
public class CopyOfNum1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File file = new File("./src/");
        method(file);

    }
    public static void method(File file){
        File[] list=file.listFiles();
        for (int i = 0; i < list.length; i++) {
            if(list[i].isFile()){       //isFile() 方法判斷是否為檔案
                System.out.println(list[i].getName());
            }else{
                System.out.println(list[i].getName()+"........資料夾..........");
                method(list[i]);        //遞迴
            }

        }

    }

}

執行:
這裡寫圖片描述