首页 新闻 会员 周边

下面是一静态方法,功能是打印文件目录里面的文件,已知目标目录里有文件,list怎么为null??大家帮帮忙!

0
悬赏园豆:5 [已解决问题] 解决于 2016-01-03 21:24
 1   public static void findFile(File target){
 2         if(target!=null){
 3             if(target.isDirectory()){
 4                 File[] files = target.listFiles();//返回文件目录
 5                 if(files!=null){
 6                     for (File file : files) {
 7                         findFile(file);
 8                     }
 9                 }
10             }else{
11                 File[] list = target.listFiles();
12                 System.out.println(list == null);//测试
13                 if(list!=null){//list怎么为null????
15 for (File file : list) { 16 System.out.println(file); 17 } 18 } 19 } 20 } 21 }
躬行之的主页 躬行之 | 初学一级 | 园豆:197
提问于:2016-01-03 16:14
< >
分享
最佳答案
0

File[] list = target.listFiles();这条语句是在else里面,也就是说你的target 不是目录,返回值 list 肯定就是null的

收获园豆:5
胖胖的半山兄 | 菜鸟二级 |园豆:240 | 2016-01-03 18:38

File[] list = target.listFiles();listFiles()方法返回抽象路径名中的目录中的文件或目录,else之后是文件了,list[]也就是目录为null.

谢谢咯,还是概念比较模糊...

躬行之 | 园豆:197 (初学一级) | 2016-01-03 21:20

@jzman: 没事继续好好学习~

胖胖的半山兄 | 园豆:240 (菜鸟二级) | 2016-01-03 21:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册