Java編程獲取文件列表及子文件目錄的方法(非遞歸)
廢話不談,直接進(jìn)入正題,理解見代碼注釋。
// 非遞歸
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;
}
以上就是本文關(guān)于Java編程獲取文件列表及子文件目錄的方法(非遞歸)的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程子類能否重寫父類的靜態(tài)方法探索、java編程枚舉類型那些事!枚舉類型定義和重寫枚舉的方法等,如有不足之處,歡迎留言參考。感謝朋友們對本站的支持!
相關(guān)文章
java8實(shí)現(xiàn)list集合中按照某一個值相加求和,平均值等操作代碼
這篇文章主要介紹了java8實(shí)現(xiàn)list集合中按照某一個值相加求和,平均值等操作代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
詳解Java中的println輸入和toString方法的重寫問題
這篇文章主要介紹了Java中的println輸入和toString方法的重寫,一個對象數(shù)組在調(diào)用Arrays.toString打印時,相當(dāng)于遍歷數(shù)組,然后打印里邊每個對象,這再打印對象就調(diào)用對象自己的toString了,需要的朋友可以參考下2022-04-04
如何修改logback.xml配置文件在resource以外的位置
這篇文章主要介紹了如何修改logback.xml配置文件在resource以外的位置,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
Springboot 2.6集成redis maven報錯的坑記錄
這篇文章主要介紹了Springboot 2.6集成redis maven報錯的坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
Elasticsearch常見字段映射類型之scaled_float解讀
這篇文章主要介紹了Elasticsearch常見字段映射類型之scaled_float解讀。具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
IDEA?服務(wù)器熱部署圖文詳解(On?Update?action/On?frame?deactivation)
這篇文章主要介紹了IDEA?服務(wù)器熱部署詳解(On?Update?action/On?frame?deactivation),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03

