列出目錄下的所有子目錄和檔案是個很常用的功能,底下是個 java sample
1. 先用 list() 取得該目錄裡的所有檔案和子目錄
2. 用 isFile() 檢查是否為檔案或用 isDirectory() 檢查是否為目錄
其中 list() 與 listFiles() 差別,在於list()只會列出檔名,listFiles()會將完整的路徑和檔名顯示出來

import java.io.File;
import java.lang.SecurityException;

class FileT {
    public static void main(String args[]) {
        String path = "C:\\temp\\";
        File fd = new File(path);

        try {
            File f;
            String fileNames[] = fd.list();
            System.out.println("總共有"+fileNames.length+"個檔案");
            for (int i=0; i<fileNames.length; i++) {
                f = new File(path + fileNames[i]);
                if (f.isFile()) {
                    System.out.println("File="+fileNames[i]);
                }
                if (f.isDirectory()) {
                    System.out.println("Dir="+fileNames[i]);
                }
           }

            File[] files = fd.listFiles();
            for (int i=0;i<files.length;i++) {
                if (files[i].isFile()) {
                    System.out.println("File="+files[i]);
                }
                if (files[i].isDirectory()) {
                    System.out.println("Dir="+files[i]);
                }
           }
        } catch(SecurityException e){
              System.out.println(e.getMessage());
        }
    }
}

結果顯示:<br/>

File1
File2
File3
C:\temp\File1
C:\temp\File2
C:\temp\File3

,

mark528 發表在 痞客邦 PIXNET 留言(0) 人氣()