Java編程獲取文件列表及子文件目錄的方法(非遞歸)
廢話不談,直接進入正題,理解見代碼注釋。
// 非遞歸 public List<String> scanFiles(String path) { List<String>filePaths = new ArrayList<String>(); LinkedList<File> list = new LinkedList<File>(); File dir = new File(path); File[] file = dir.listFiles(); for (int i = 0; i < file.length; i++) { if (file[i].isDirectory()) { // 把第一層的目錄,全部放入鏈表 list.add(file[i]); } filePaths.add(file[i].getAbsolutePath()); } // 循環(huán)遍歷鏈表 while (!list.isEmpty()) { // 把鏈表的第一個記錄刪除 File tmp = list.removeFirst(); // 如果刪除的目錄是一個路徑的話 if (tmp.isDirectory()) { // 列出這個目錄下的文件到數(shù)組中 file = tmp.listFiles(); if (file == null) {// 空目錄 continue; } // 遍歷文件數(shù)組 for (int i = 0; i < file.length; ++i) { if (file[i].isDirectory()) { // 如果遍歷到的是目錄,則將繼續(xù)被加入鏈表 list.add(file[i]); } filePaths.add(file[i].getAbsolutePath()); } } } return filePaths; }
以上就是本文關于Java編程獲取文件列表及子文件目錄的方法(非遞歸)的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程子類能否重寫父類的靜態(tài)方法探索、java編程枚舉類型那些事!枚舉類型定義和重寫枚舉的方法等,如有不足之處,歡迎留言參考。感謝朋友們對本站的支持!
相關文章
java8實現(xiàn)list集合中按照某一個值相加求和,平均值等操作代碼
這篇文章主要介紹了java8實現(xiàn)list集合中按照某一個值相加求和,平均值等操作代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08詳解Java中的println輸入和toString方法的重寫問題
這篇文章主要介紹了Java中的println輸入和toString方法的重寫,一個對象數(shù)組在調(diào)用Arrays.toString打印時,相當于遍歷數(shù)組,然后打印里邊每個對象,這再打印對象就調(diào)用對象自己的toString了,需要的朋友可以參考下2022-04-04如何修改logback.xml配置文件在resource以外的位置
這篇文章主要介紹了如何修改logback.xml配置文件在resource以外的位置,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02Springboot 2.6集成redis maven報錯的坑記錄
這篇文章主要介紹了Springboot 2.6集成redis maven報錯的坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04Elasticsearch常見字段映射類型之scaled_float解讀
這篇文章主要介紹了Elasticsearch常見字段映射類型之scaled_float解讀。具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11IDEA?服務器熱部署圖文詳解(On?Update?action/On?frame?deactivation)
這篇文章主要介紹了IDEA?服務器熱部署詳解(On?Update?action/On?frame?deactivation),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03