file類的遍歷

package IO輸入輸出流;


import java.io.File;
import java.io.IOException;

// 列出file類的一些常用操作,比如過濾、遍歷等操作
public class FileUtils {
    public static void listDirectory(File dir) throws IOException{
        // exists()方法用於判斷文件或目錄是否存在
        if(!dir.exists()){
            throw new IllegalArgumentException("目錄:" + dir + "不存在");
        }
        // isDirectory()方法用於判斷File類的對象是否是目錄
        if(!dir.isDirectory()){
            throw new IllegalArgumentException(dir + "不是目錄");

        }
        // list方法用於列出當前目錄下的子目錄和文件
		/*String[] filenames = dir.list(); // 返回的是字符串數組 直接子的名稱 不包含子目錄下的內容
		for (String string : filenames) {
			System.out.println(dir + ":\\" + string);
		}*/
        // 如果要遍歷子目錄下的內容就需要構造成File對象做遞歸操作,File提供了返回File對象的API
        File[] files = dir.listFiles(); // 返回的是直接子目錄(文件)的抽象
        //for (File file : files) {
        //System.out.println(file);
        if(files!=null && files.length > 0){
            for (File file : files) {
                if(file.isDirectory()){
                    // 遞歸
                    listDirectory(file);
                }else{
                    System.out.println(file);
                }
            }
        }

    }



}

 

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