十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
一、實(shí)現(xiàn)效果
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),寧晉企業(yè)網(wǎng)站建設(shè),寧晉品牌網(wǎng)站建設(shè),網(wǎng)站定制,寧晉網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,寧晉網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
需求:從鍵盤接收一個(gè)文件夾路徑,把文件夾中的所有文件以及文件夾的名字按層級(jí)打印。
例如:把文件夾中的所有文件以及文件夾的名字按層級(jí)打印。
二、實(shí)現(xiàn)邏輯
獲取所有文件和文件夾,返回File數(shù)組,遍歷數(shù)組,無論是文件還是文件夾都需要直接打印,如果是文件夾,遞歸調(diào)用。
三、實(shí)現(xiàn)代碼
aaa是文件夾,里面有bbb.txt、ccc.txt、ddd.txt這些文件,有eee這樣的文件夾,eee中有fff.txt和ggg.txt,打印出層級(jí)來。
例如:
代碼如下:
public class Test4 { public static void main(String[] args) { File dir = getDir(); //獲取文件夾路徑 printLev(dir,0); } /* * 從鍵盤接收一個(gè)文件夾路徑 * 1,返回值類型File * 2,參數(shù)列表無 */ public static File getDir() { //1,創(chuàng)建鍵盤錄入對(duì)象 Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入一個(gè)文件夾路徑:"); //2,定義一個(gè)無限循環(huán) while(true) { //3,將鍵盤錄入的結(jié)果存儲(chǔ)并封裝成File對(duì)象 String line = sc.nextLine(); File dir = new File(line); //4,對(duì)File對(duì)象判斷 if(!dir.exists()) { System.out.println("您錄入的文件夾路徑不存在,請(qǐng)輸入一個(gè)文件夾路徑:"); }else if(dir.isFile()) { System.out.println("您錄入的是文件路徑,請(qǐng)輸入一個(gè)文件夾路徑:"); }else { //5,將文件夾路徑對(duì)象返回 return dir; } } } public static void printLev(File dir,int lev) { //1,把文件夾中的所有文件以及文件夾的名字按層級(jí)打印 File[] subFiles = dir.listFiles(); //2,遍歷數(shù)組 for (File subFile : subFiles) { for(int i = 0; i <= lev; i++) { System.out.print("\t"); } //3,無論是文件還是文件夾,都需要直接打印 System.out.println(subFile); //4,如果是文件夾,遞歸調(diào)用 if(subFile.isDirectory()) { //printLev(subFile,lev + 1); printLev(subFile,++lev); } } } }
以上就是java實(shí)現(xiàn)從鍵盤接收文件路徑,層級(jí)打印文件或文件夾名字的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!