創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

java 對文件夾目錄進行深度遍歷實例代碼
1、題目
對指定目錄進行所有內容的列出(包含子目錄中的內容),也可以理解為對目錄進行深度遍歷。
2、解題思想
從電腦中獲取文件目錄,建立函數(shù)對其遍歷,在這個函數(shù)中需要對該目錄中的每個文件進行判斷,如果文件還是目錄,則調用函數(shù)本身繼續(xù)對其進行遍歷,如果文件不是目錄,則直接輸出文件名。為了加強顯示的效果,我們還可以建立一個getSpace函數(shù),對其進行縮進。
需要注意的是,不要直接遍歷C盤的內容,其目錄層次太深,含有太多的系統(tǒng)級文件,容易返回為空,導致空指針異常的發(fā)生,也不要直接遍歷D盤,因為只要其含有隱藏的系統(tǒng)卷標目錄,也會造成空指針異常的發(fā)生。
3、Java代碼
import java.io.File;
public class DepthTraversal {
public static void main(String[] args) {
File dir = new File("d:\\BaiduYunDownload");
listAll(dir, 0);
}
public static void listAll(File dir, int level) {
System.out.println(getSpace(level) + dir.getName());
level++; //每調用一次,level加1
File[] files = dir.listFiles(); //獲取指定目錄下當前的所有文件夾或者文件對象
for (int x = 0; x < files.length; x++) { //循環(huán)遍歷
if (files[x].isDirectory()) { //如果是目錄,繼續(xù)調用listAll函數(shù)
listAll(files[x], level);
} else { //否則,直接輸出文件名
System.out.println(getSpace(level) + files[x].getName());
}
}
}
private static String getSpace(int level) { //輸出空格,加強顯示效果
StringBuilder sb = new StringBuilder();
sb.append("|--");
for (int x = 0; x < level; x++) {
sb.insert(0, "| ");
}
return sb.toString();
}
}
網(wǎng)站標題:java對文件夾目錄進行深度遍歷實例代碼-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://chinadenli.net/article40/hgjho.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、網(wǎng)站營銷、商城網(wǎng)站、軟件開發(fā)、營銷型網(wǎng)站建設、虛擬主機
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容