您好,登錄后才能下訂單哦!
廢話不談,直接進入正題,理解見代碼注釋。
// 非遞歸 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()); } // 循環遍歷鏈表 while (!list.isEmpty()) { // 把鏈表的第一個記錄刪除 File tmp = list.removeFirst(); // 如果刪除的目錄是一個路徑的話 if (tmp.isDirectory()) { // 列出這個目錄下的文件到數組中 file = tmp.listFiles(); if (file == null) {// 空目錄 continue; } // 遍歷文件數組 for (int i = 0; i < file.length; ++i) { if (file[i].isDirectory()) { // 如果遍歷到的是目錄,則將繼續被加入鏈表 list.add(file[i]); } filePaths.add(file[i].getAbsolutePath()); } } } return filePaths; }
以上就是本文關于Java編程獲取文件列表及子文件目錄的方法(非遞歸)的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:Java編程子類能否重寫父類的靜態方法探索、java編程枚舉類型那些事!枚舉類型定義和重寫枚舉的方法等,如有不足之處,歡迎留言參考。感謝朋友們對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。