有如下几个问题: 1.dir是不存在的目录时,dir.listFiles()返回值为null,方法中第一步已处理,if(files!=null&&files.length>0)无需再判断; 2.存在dir下没有子目录和文件,files.length==0的情况; 3.递归调方法前,要输出file,因为file是子目录,其内可能没有文件。
你的问题是针对教学视频中的代码所产生的疑惑么?
如果是......那么
第一个问题:当dir不存在的话,方法第一步 if(!dir.exists())就抛出异常了,更不会使dir.listFiles()返回值为null
第二个问题:length()是返回长度的,以字节为单位的,如果路径名表示一个目录,则返回值是不确定的,若表示一个文件且不存在,则返回0
第三个问题:如果进行了递归,若子目录下没有文件,那并不会引发异常,通过if(files!=null&&files.length>0)后直接打印输出其路径名结果