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

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

空文件夾沒有打印出來

謝謝老師,聽了老師的課程,受益匪淺。我有幾點疑惑,遍歷的時候為什么要files != null,可不可以直接files.length > 0呢?遞歸的時候,如果是空文件夾也會參加遞歸,并且遞歸到“if(files!=bull && files.length > 0 )”就結束了。我的代碼如下:

????????//?如果要遍歷子目錄下的內容,就要遍歷File對象,做遞歸操作,File提供了直接返回File對象的API
????????File?[]?files?=?dir.listFiles();
????????if?(files.length?>?0)?{
????????????for?(File?file?:?files)?{
????????????????if?(file.isDirectory()?&&?file.listFiles().length?>?0)?{
????????????????????//?遞歸
????????????????????listDirectory(file);
????????????????}?else?{
????????????????????System.out.println(file);
????????????????}
????????????}
????????}


正在回答

6 回答

我想問下樓主,如果是目錄它怎么打印出文件夾的名字的額?

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

題主應該是對的

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

難道files!=null和files.length()>0不是一個意思嗎

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

_神人A

不同的 一個是files是不存在 一個是它可以是一個空的目錄
2015-11-29 回復 有任何疑惑可以回復我~
#2

激流勇進__ 回復 _神人A

空目錄為什么length還會 >0 呢?
2016-02-17 回復 有任何疑惑可以回復我~

經過本人的測試,老師的確是打印不出空文件。通過測試之后,你只需把圖中else去掉就能夠打出代碼

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

初級學習號

通過測試之后,你只需把圖中else去掉就能夠輸出空目錄。
2015-07-04 回復 有任何疑惑可以回復我~
#2

激流勇進__ 回復 初級學習號

去掉后,我怎么沒輸出來
2016-02-17 回復 有任何疑惑可以回復我~

if?(file.isDirectory()?&&?file.listFiles().length?>?0)?{

????????????????????//?遞歸

????????????????????listDirectory(file);

????????????????}?

按樓主增加的判斷條件,才會打印空目錄

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

for-each塊里的file是一個File對象,這個對象有listFiles()方法?沒報錯?

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

李鬼989 提問者

file.isDirectory返回ture才會遞歸,才會用到listFiles方法
2015-03-21 回復 有任何疑惑可以回復我~
#2

仗劍闖江湖 回復 李鬼989 提問者

我試了一下沒問題?。?/div>
2015-03-21 回復 有任何疑惑可以回復我~
#3

李鬼989 提問者 回復 仗劍闖江湖

不是,老師的代碼,null文件夾不會打印,只會打印出文件
2015-03-22 回復 有任何疑惑可以回復我~
#4

仗劍闖江湖 回復 李鬼989 提問者

對,老師的代碼不會打印空文件夾。
2015-03-22 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

空文件夾沒有打印出來

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

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

幫助反饋 APP下載

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

公眾號

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