遞歸這塊有點(diǎn)不明白求解答
File[]?files?=?dir.listFiles();//返回的是直接子目錄(文件)的對(duì)象 if(files!=null?&&?files.length>0){ for(File?file?:?files){ if(file.isDirectory()){ //遞歸 ListDirectory(file); } else{ System.out.println(file); } } }
第二個(gè)if這里有點(diǎn)不明白,ListDirectory(file);是怎么操作的?
2015-09-02
就是方法調(diào)用而以啊,你這段代碼是不是寫(xiě)在ListDirectory()中啊,接收參數(shù)是個(gè)文件,整個(gè)方法邏輯就是
1、傳一個(gè)文件路徑dir進(jìn)來(lái),如果傳進(jìn)來(lái)的是文件夾,取出文件夾中的所有文件進(jìn)行遍歷
2、遍歷時(shí)將每個(gè)文件進(jìn)行判斷,如果發(fā)現(xiàn)是文件夾,執(zhí)行遞歸,又回到第一步。如果不是文件夾,就輸出
2015-10-21
如果是目錄,則再?gòu)倪@一層開(kāi)始,再執(zhí)行一遍L(zhǎng)istDirectory()方法。