Java遍歷輸出指定目錄、樹形結(jié)構(gòu)所有文件包括子目錄下的文件
更新時(shí)間:2015年07月31日 16:08:58 作者:jenson138
這篇文章主要介紹了Java遍歷輸出指定目錄、樹形結(jié)構(gòu)下的所有文件包括子目錄中的文件,需要的朋友可以參考下
下面通過一段代碼介紹下Java輸出指定目錄、樹形結(jié)構(gòu)下的所有文件包括子目錄中的文件的方法,并附有效果圖。
import java.io.File;
public class ReadDirectory {
// 文件所在的層數(shù)
private int fileLevel;
/**
* 生成輸出格式
* @param name 輸出的文件名或目錄名
* @param level 輸出的文件名或者目錄名所在的層次
* @return 輸出的字符串
*/
public String createPrintStr(String name, int level) {
// 輸出的前綴
String printStr = "";
// 按層次進(jìn)行縮進(jìn)
for (int i = ; i < level; i ++) {
printStr = printStr + " ";
}
printStr = printStr + "- " + name;
return printStr;
}
/**
* 輸出初始給定的目錄
* @param dirPath 給定的目錄
*/
public void printDir(String dirPath){
// 將給定的目錄進(jìn)行分割
String[] dirNameList = dirPath.split("\\\\");
// 設(shè)定文件level的base
fileLevel = dirNameList.length;
// 按格式輸出
for (int i = ; i < dirNameList.length; i ++) {
System.out.println(createPrintStr(dirNameList[i], i));
}
}
/**
* 輸出給定目錄下的文件,包括子目錄中的文件
* @param dirPath 給定的目錄
*/
public void readFile(String dirPath) {
// 建立當(dāng)前目錄中文件的File對(duì)象
File file = new File(dirPath);
// 取得代表目錄中所有文件的File對(duì)象數(shù)組
File[] list = file.listFiles();
// 遍歷file數(shù)組
for (int i = ; i < list.length; i++) {
if (list.isDirectory()) {
System.out.println(createPrintStr(list.getName(), fileLevel));
fileLevel ++;
// 遞歸子目錄
readFile(list.getPath());
fileLevel --;
} else {
System.out.println(createPrintStr(list.getName(), fileLevel));
}
}
}
public static void main(String[] args) {
ReadDirectory rd = new ReadDirectory();
String dirPath = "D:\\有道詞典";
rd.printDir(dirPath);
rd.readFile(dirPath);
}
}
輸出結(jié)果如下:

以上就是本文的全部內(nèi)容,希望大家喜歡。
相關(guān)文章
Java使用Thumbnailator實(shí)現(xiàn)快速處理圖片
它提供了簡單易用的API,可以輕松地生成縮略圖并進(jìn)行各種操作,Thumbnailator是一個(gè)Java庫,用于創(chuàng)建和操作圖像縮略圖,下面我們就來看看具體的操作吧2025-04-04
spring security動(dòng)態(tài)配置url權(quán)限的2種實(shí)現(xiàn)方法
對(duì)于使用spring security來說,存在一種需求,就是動(dòng)態(tài)去配置url的權(quán)限,即在運(yùn)行時(shí)去配置url對(duì)應(yīng)的訪問角色。下面這篇文章主要給大家介紹了關(guān)于spring security動(dòng)態(tài)配置url權(quán)限的2種實(shí)現(xiàn)方法,需要的朋友可以參考下2018-06-06
Spring?Bean注冊與注入實(shí)現(xiàn)方法詳解
首先,要學(xué)習(xí)Spring中的Bean的注入方式,就要先了解什么是依賴注入。依賴注入是指:讓調(diào)用類對(duì)某一接口的實(shí)現(xiàn)類的實(shí)現(xiàn)類的依賴關(guān)系由第三方注入,以此來消除調(diào)用類對(duì)某一接口實(shí)現(xiàn)類的依賴。Spring容器中支持的依賴注入方式主要有屬性注入、構(gòu)造函數(shù)注入、工廠方法注入2022-10-10
java 實(shí)現(xiàn)下壓棧的操作(能動(dòng)態(tài)調(diào)整數(shù)組大小)
這篇文章主要介紹了java 實(shí)現(xiàn)下壓棧的操作(能動(dòng)態(tài)調(diào)整數(shù)組大小),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02
java?stream實(shí)現(xiàn)分組BigDecimal求和以及自定義分組求和
這篇文章主要給大家介紹了關(guān)于java?stream實(shí)現(xiàn)分組BigDecimal求和以及自定義分組求和的相關(guān)資料,Stream是Java8的一大亮點(diǎn),是對(duì)容器對(duì)象功能的增強(qiáng),它專注于對(duì)容器對(duì)象進(jìn)行各種非常便利、高效的聚合操作或者大批量數(shù)據(jù)操作,需要的朋友可以參考下2023-12-12

