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()) {
// 把鏈表的第一個(gè)記錄刪除
File tmp = list.removeFirst();
// 如果刪除的目錄是一個(gè)路徑的話
if (tmp.isDirectory()) {
// 列出這個(gè)目錄下的文件到數(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編程獲取文件列表及子文件目錄的方法(非遞歸)的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程子類能否重寫父類的靜態(tài)方法探索、java編程枚舉類型那些事!枚舉類型定義和重寫枚舉的方法等,如有不足之處,歡迎留言參考。感謝朋友們對(duì)本站的支持!
- java、js中實(shí)現(xiàn)無限層級(jí)的樹形結(jié)構(gòu)方法(類似遞歸)
- Java之遞歸求和的兩種簡(jiǎn)單方法(推薦)
- Java遞歸方法求5!的實(shí)現(xiàn)代碼
- 利用java+mysql遞歸實(shí)現(xiàn)拼接樹形JSON列表的方法示例
- java遞歸讀取目錄下所有文件的方法
- 遞歸之斐波那契數(shù)列java的3種方法
- 全排列算法-遞歸與字典序的實(shí)現(xiàn)方法(Java)
- java數(shù)學(xué)歸納法非遞歸求斐波那契數(shù)列的方法
- java實(shí)現(xiàn)遞歸文件列表的方法
- java中方法遞歸的簡(jiǎn)單示例
相關(guān)文章
Java實(shí)現(xiàn)多對(duì)多網(wǎng)絡(luò)通訊的流程
這篇文章主要介紹了Java實(shí)現(xiàn)多對(duì)多網(wǎng)絡(luò)通訊的流程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
spring boot自定義404錯(cuò)誤信息的方法示例
這篇文章主要介紹了spring boot自定義404錯(cuò)誤信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
SpringBoot--Banner的定制和關(guān)閉操作
這篇文章主要介紹了SpringBoot--Banner的定制和關(guān)閉操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2018-05-05
Kafka Java Producer代碼實(shí)例詳解
這篇文章主要介紹了Kafka Java Producer代碼實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
詳解Mybatis中的 ${} 和 #{}區(qū)別與用法
這篇文章主要介紹了Mybatis中的 ${} 和 #{}區(qū)別與用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
java正則表達(dá)式簡(jiǎn)單使用和網(wǎng)頁爬蟲的制作代碼
java正則表達(dá)式簡(jiǎn)單使用和網(wǎng)頁爬蟲的制作代碼,需要的朋友可以參考一下2013-05-05
MyBatis-Plus如何關(guān)閉SQL日志打印詳解
在使用mybatisplus進(jìn)行開發(fā)時(shí),日志是一個(gè)非常有用的工具,它可以幫助我們更好地了解和調(diào)試我們的代碼,這篇文章主要給大家介紹了關(guān)于MyBatis-Plus如何關(guān)閉SQL日志打印的相關(guān)資料,需要的朋友可以參考下2024-03-03
String字符串拼接方法concat和+的效率對(duì)比
這篇文章主要介紹了String字符串拼接方法concat和+的效率對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12

