您好,登錄后才能下訂單哦!
廢話不談,直接進(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ì)本站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。