Java 中,File 類的一些常用操作比如過濾,遍歷等操作

import java.io.File;

import java.io.IOException;

/**
 * File的一些常用操作比如過濾,遍歷等操作
 */
public class FileUtils {


/*
* 列出指定目錄下(包括其子目錄)的所有文件
* */

    public static void listDirectory(File dir) throws IOException {
        if (!dir.exists()) {//如果文件不存在
            throw new IllegalArgumentException("目錄:" + dir + "不存在.");
        }
        if (!dir.isDirectory()) {//判斷是否是目錄
            throw new IllegalArgumentException(dir + "不是目錄");
        }


        /*//list()方法用於列出當前目錄下的子目錄和文件
        String[] filenames = dir.list();//返回的是字符串數組 直接子目錄的名稱,
        //不包含子目錄下的內容名稱
        for (String  string:filenames) {
            System.out.println(dir+"\\"+string);
        }*/

        //如果要遍歷子目錄下的內容就需要構造成File對象做遞歸操作,File提供了直接返回
        //  Fiel對象的api
        File[] files = dir.listFiles();//返回的是直接子目錄的對象
        if (files != null && files.length > 0) {//判斷其子目錄下是否存在內容
            for (File file : files) {
                if (file.isDirectory()) {
                    //遞歸
                    listDirectory(file);
                } else {
                    System.out.println(file);
                }
            }

        }


    }

}

--------------------------------------------------------------------------------------------------------

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

/**
 * 測試類
 */
public class FileUtilsTest1 {
    public static void  main(String[] args) throws IOException {
        FileUtils.listDirectory(new File("D:\\JAVA\\學習資料"));
       /*
        結果:遍歷出了學習資料下的所有子目錄名稱,但是每個子目錄下的文件不再遍歷
        D:\JAVA\學習資料51CTO下載-阿里巴巴Java開發手冊(2017年正式版).pdf
        D:\JAVA\學習資料Head+First+Java+(中文版).pdf
        D:\JAVA\學習資料Java學習文檔
        D:\JAVA\學習資料Java編程思想第四版完整中文高清版.pdf
        D:\JAVA\學習資料jdk-8u121-windows-x64.exe
*/

/*
      結果: 使用File類的listFiles()方法,獲得file對象,然後做遞歸操作,可以獲得其子目錄下的內容信息
        D:\JAVA\學習資料\51CTO下載-阿里巴巴Java開發手冊(2017年正式版).pdf
        D:\JAVA\學習資料\Head+First+Java+(中文版).pdf
        D:\JAVA\學習資料\Java學習文檔\controller跳轉到jsp.doc
        D:\JAVA\學習資料\Java學習文檔\html網頁.doc
        D:\JAVA\學習資料\Java學習文檔\jQuery獲取trtd的值.docx
        D:\JAVA\學習資料\Java學習文檔\Jsp顯示controller裏的list.docx
        D:\JAVA\學習資料\Java學習文檔\mvc與分層區別.docx
        D:\JAVA\學習資料\Java學習文檔\SpringMVC工作原理.doc
        D:\JAVA\學習資料\Java學習文檔\SSM登錄項目.doc
        D:\JAVA\學習資料\Java學習文檔\~$c與分層區別.docx
        D:\JAVA\學習資料\Java學習文檔\亂碼問題.docx
        D:\JAVA\學習資料\Java學習文檔\創建springmvc.docx
        D:\JAVA\學習資料\Java學習文檔\子龍筆記.docx
        D:\JAVA\學習資料\Java學習文檔\集成jdbc+springmvc+jsp小項目.doc
        D:\JAVA\學習資料\Java編程思想第四版完整中文高清版.pdf
        D:\JAVA\學習資料\jdk-8u121-windows-x64.exe
*/







    }
}

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