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獲取tr中td的值.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 */ } }