java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
生活随笔
收集整理的這篇文章主要介紹了
java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
http://www.cnblogs.com/jenson138/p/4691418.html
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 = 0; 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的basefileLevel = dirNameList.length;// 按格式輸出for (int i = 0; i < dirNameList.length; i ++) {System.out.println(createPrintStr(dirNameList[i], i));}}/*** 輸出給定目錄下的文件,包括子目錄中的文件* @param dirPath 給定的目錄*/public void readFile(String dirPath) {// 建立當(dāng)前目錄中文件的File對象File file = new File(dirPath);// 取得代表目錄中所有文件的File對象數(shù)組File[] list = file.listFiles();// 遍歷file數(shù)組for (int i = 0; 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é)果如下:
分類:?JAVA基礎(chǔ)知識(shí)?
轉(zhuǎn)載于:https://www.cnblogs.com/a757956132/p/4703751.html
總結(jié)
以上是生活随笔為你收集整理的java遍历给定目录,树形结构输出所有文件,包括子目录中的文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求怎样写歌词!
- 下一篇: 你想要的我不能给你全部是什么歌啊