Java編程獲取文件列表及子文件目錄的方法(非遞歸)
更新時間:2017年10月26日 11:29:54 作者:herdyouth
這篇文章主要介紹了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編程獲取文件列表及子文件目錄的方法(非遞歸)的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程子類能否重寫父類的靜態(tài)方法探索、java編程枚舉類型那些事!枚舉類型定義和重寫枚舉的方法等,如有不足之處,歡迎留言參考。感謝朋友們對本站的支持!
相關文章
詳解Mybatis中的 ${} 和 #{}區(qū)別與用法
這篇文章主要介紹了Mybatis中的 ${} 和 #{}區(qū)別與用法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

