亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

f這里的files != null代表什么?文件不為空?那么用file.exists不是更好嗎?

File files[] = dir.listFiles();// 返回的是直接子目錄(或者文件)的抽象

if (files != null && files.length > 0) {

for (File wenjian : files)

if (wenjian.isDirectory()) {

// 遞歸

listDirectory(wenjian);

} else {

System.out.println(wenjian);

}

}

}


正在回答

3 回答

files是返回的File類型數組,file是數組中的元素

需要先判斷數組是否為空(files.length >0),而files != null只是更周全的寫法,在這個示例里面其實是可以不用寫的,因為上面已經判斷了dir的存在

0 回復 有任何疑惑可以回復我~
#1

福工劉德華 提問者

那上面那個dir也是file類型的代表什么呢?
2017-11-22 回復 有任何疑惑可以回復我~
#2

慕田峪3134475

很抱歉,?我重新看了下視頻內容,發現之前我的說法是錯誤的。files != null 這個判斷不能少
2017-11-23 回復 有任何疑惑可以回復我~

if (files != null && files.length > 0)

這句判斷完全可以不寫,因為foreach的循環行為,內部已經判斷了files的length為0,或者為null的情況,已經進行了排除。

不過在別的情況下,使用對象還是要科學判斷對象是否為null,這是一個編程好習慣。

0 回復 有任何疑惑可以回復我~
#1

慕姐936777

你定義一個為null的數組試試再說
2018-04-14 回復 有任何疑惑可以回復我~
#2

丑丶小亞 回復 慕姐936777

這就有點較之了,我針對本實例進行的這樣說明,對于本實例來說只有存在dir或者不存在dir的情況,不存在向上拋出異常,那你下面的判斷排除行為,有什么意義?存在就更不可能有null數組的情況。代碼是死的,人的活的。
2018-04-17 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//5a1635060001854615920722.jpg

紅框中的dir這個File類型對象對應的是目錄,因為這個dir在調用構造函數的時候傳入的參數是某個目錄的路徑。

File類型的對象還可以是具體的某個文件,這就需要在調用構造函數的時候傳入的參數是具體文件的路徑,比如

?File dir = new File("e:\\javaIO\\test.txt")

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

f這里的files != null代表什么?文件不為空?那么用file.exists不是更好嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號