課程
/后端開發
/Java
/文件傳輸基礎——Java IO流
最后遍歷所有文件 包括子目錄的時候 ?如果是空文件夾,空文件夾的名字就打印不出來了,這是BUG么?
2017-11-03
源自:文件傳輸基礎——Java IO流 2-2
正在回答
因為遞歸之后是有判斷某個目錄下的長度的,而當遞歸遍歷到空文件夾時,它的長度為0,就不會執行for里面的語句了,就更無法執行for里面的打印語句了。
可以運行一下下面的代碼,會每次遞歸都輸出長度,容易理解
File[] filename=dir.listFiles();
//遍歷該數組
//for (File string : filename) {
// System.out.println(string);
//}
//2、調用list()方法羅列文件
// String[] filename2=dir.list();
//for (String string : filename2) {
// }
//3、讓它列出所有的內容
System.out.println(filename.length);
if(filename!=null&&filename.length>0) {
for (File file : filename) {
if(file.isDirectory()){
//遞歸
listDirectory(file);
System.out.println(file);
}else{
}
+1 求解。沒有遞歸的時候直接打印file是打印出來dir目錄下的文件夾路徑 遞歸之后什么都沒有
按照老師的寫法,只要是文件夾都不會被打印名字,只會打印file的路徑
寫法上加if判斷是目錄時候遞歸了,這塊限制了,換個寫法,不加else就可以了打印了,不用細究這塊,else的時候都不是目錄才打印,所以打印不出來空文件夾
空文件夾能正常打印???只要你代碼沒錯的話,遍歷出來的結果是這個空文件夾的名字
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
6 回答空文件夾沒有打印出來
1 回答關于子目錄下的空文件夾
1 回答按照老師的遞歸,卻練本目錄和子目錄都不打印了,只打印文件
4 回答如果子目錄下沒有文件,為什么連這個子目錄都不會輸出呢?
1 回答遞歸怎么給空文件夾顯示出來???
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-08-16
因為遞歸之后是有判斷某個目錄下的長度的,而當遞歸遍歷到空文件夾時,它的長度為0,就不會執行for里面的語句了,就更無法執行for里面的打印語句了。
可以運行一下下面的代碼,會每次遞歸都輸出長度,容易理解
File[] filename=dir.listFiles();
//遍歷該數組
//for (File string : filename) {
// System.out.println(string);
//}
//2、調用list()方法羅列文件
// String[] filename2=dir.list();
//for (String string : filename2) {
// System.out.println(string);
// }
//3、讓它列出所有的內容
System.out.println(filename.length);
if(filename!=null&&filename.length>0) {
for (File file : filename) {
if(file.isDirectory()){
//遞歸
listDirectory(file);
System.out.println(file);
}else{
System.out.println(file);
}
}
2019-04-12
+1 求解。沒有遞歸的時候直接打印file是打印出來dir目錄下的文件夾路徑 遞歸之后什么都沒有
2018-02-08
按照老師的寫法,只要是文件夾都不會被打印名字,只會打印file的路徑
2017-11-09
寫法上加if判斷是目錄時候遞歸了,這塊限制了,換個寫法,不加else就可以了打印了,不用細究這塊,else的時候都不是目錄才打印,所以打印不出來空文件夾
2017-11-03
空文件夾能正常打印???只要你代碼沒錯的話,遍歷出來的結果是這個空文件夾的名字