第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于list和listFiles的區(qū)別

還是沒(méi)有搞明白這兩個(gè)方法的區(qū)別。

他們都可以顯示當(dāng)前目錄下的所有文件和目錄,

為什么遞歸之后,list仍然顯示當(dāng)前,沒(méi)有遞歸下去。而listFiles卻顯示出來(lái)了?

正在回答

4 回答

詳解list 和listFlile:

首先調(diào)用list()方法的話,返回的是一個(gè)String類型的字符串?dāng)?shù)組,它返回的是dir目錄下一級(jí)的所有文件的目錄,但它是以字符串的形式存在,然而java并不會(huì)識(shí)別該字符串類型的目錄,因?yàn)閖ava不確定該string是否是一個(gè)文件目錄,或者還是只是一個(gè)數(shù)字或者其他類型的對(duì)象,只能簡(jiǎn)單的將它顯示出來(lái)

然后調(diào)用listFile()方法的話,返回的是一個(gè)文件類型的文件數(shù)組,返回的也是dir目錄下一級(jí)的所有文件的目錄,但與string類型不同的是,java可以自動(dòng)識(shí)別文件類型的對(duì)象,知道返回的是一個(gè)File類型的對(duì)象,所以可以調(diào)用相應(yīng)的方法進(jìn)行遞歸遍歷,而String 類型可能是因?yàn)橄到y(tǒng)沒(méi)有配備相應(yīng)的方法,所以不能做判斷是否是目錄,并且進(jìn)行遞歸遍歷的操作


0 回復(fù) 有任何疑惑可以回復(fù)我~

首先調(diào)用list()方法的話,返回的是一個(gè)String類型的字符串?dāng)?shù)組,它返回的是dir目錄下一級(jí)的所有文件的目錄,但它是以字符串的形式存在,然而java并不會(huì)識(shí)別該字符串類型的目錄,只能簡(jiǎn)單的將它顯示出來(lái)

然后調(diào)用listFile()方法的話,返回的是一個(gè)文件類型的文件數(shù)組,返回的也是dir目錄下一級(jí)的所有文件的目錄,但與string類型不同的是,java可以自動(dòng)識(shí)別文件類型的對(duì)象,知道返回的是一個(gè)File類型的對(duì)象,所以可以調(diào)用相應(yīng)的方法進(jìn)行遞歸遍歷,而String 類型可能是因?yàn)橄到y(tǒng)沒(méi)有配備相應(yīng)的方法,所以不能做判斷是否是目錄,并且進(jìn)行遞歸遍歷的操作

0 回復(fù) 有任何疑惑可以回復(fù)我~

對(duì)的,就是針對(duì)這個(gè)問(wèn)題,我利用將返回的String數(shù)組分別創(chuàng)建File對(duì)象,然后就可以遞歸調(diào)用了。。但不知道是不是因?yàn)閮蓚€(gè)方法的區(qū)別,導(dǎo)致沒(méi)有到達(dá)遞歸的效果。

String[] file = dir.list();

// for(String temp : file){

// File tempFile = new File(temp);

// System.out.println(dir + "\\" + tempFile);

// System.out.println(tempFile.isDirectory());

// if(tempFile.isDirectory()){

// listDirectory(tempFile);

// System.out.println(dir + "\\" + tempFile);

// System.out.println(dir + "是個(gè)目錄");

// }else{

// //System.out.println(dir + "\\" + temp);

// }

// }


0 回復(fù) 有任何疑惑可以回復(fù)我~

嘗試做出解答:

首先,list返回的的是String類型的值,僅僅只是當(dāng)前目錄下的所有文件和目錄的名稱(假設(shè)其中有個(gè)xx.txt,返回的只是“xx”,前面沒(méi)有“e://a//b”這樣),要分清,這是個(gè)字符串String

listFiles返回的是File的對(duì)象(類似于你這樣創(chuàng)建的:File file = new File(“E:\\a”);),這個(gè)是File類型

最后,要用遞歸的話,public static void listDirectory (File dir) throws IOException {...},這個(gè)函數(shù)的參數(shù)是File類型的,所以想要進(jìn)行遞歸就得正確地傳入?yún)?shù),如果你傳入了String類型,自然沒(méi)有函數(shù)里的屬于File類型的方法,所以無(wú)法遞歸。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于list和listFiles的區(qū)別

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)