黑马程序员技术交流社区

标题: 大家来看看 怎么没有递归 [打印本页]

作者: XinWen    时间: 2014-4-30 18:26
标题: 大家来看看 怎么没有递归
package day30;

import java.io.File;

public class LsAll {

        public static void main(String[] args) {
                listAll("c:\\");
        }
       
        public static void listAll(String pDir){
                // 指定目录的 File
                File _Dir = new File(pDir);
                //目录内容
                String[] _list = null;
               
                if(_Dir.exists()){
                        if(_Dir.isFile()){
                                return;
                        }else{
                               
                                _list = _Dir.list();
                                for(String item:_list){
                                        // 目录中 子 文件 的 File 对象
                                        File _Child = new File(_Dir, item);
                                       
                                        if(_Child.isFile()){
                                                System.out.println(item);
                                        }else{
                                                System.out.println("\t"+item);
                                                listAll(item);
                                        }
                                       
                                }
                                System.out.println("---------------------------------------------------");
                        }
                }
        }

}


作者: 宋超2356    时间: 2014-4-30 18:41


  1. import java.io.File;

  2. public class Digui {

  3.         public static void main(String[] args) {
  4.         File dir = new File("c:\\");
  5.         showDir(dir);
  6.         }
  7.         
  8.         public static void showDir(File dir) {
  9.                 System.out.println(dir);
  10.                 File[] files = dir.listFiles();
  11.                 for(int x = 0;x <files.length;x++) {
  12.                         if(files[x].isDirectory())
  13.                                 showDir(files[x]);
  14.                         else
  15.                                 System.out.println(files[x]);
  16.                 }
  17.         }
  18. }
复制代码


应该是这个意思吧~
作者: XinWen    时间: 2014-4-30 20:04
宋超2356 发表于 2014-4-30 18:41
应该是这个意思吧~

是这个意思 可是 我那个 为什么 不可以
作者: 龙健    时间: 2014-5-1 01:29
很明显,你判断的是封装的那个对象是不是以个标准的文件,.txt也是以个文件啊,你这样递归想得到什么?你应该是想判断一个文件是否是目录文件,而不是判断他是不是“一个文件”,是目录文件才可以继续往里走,递归出所有的文件和文件夹,这里主要是你没理解isFile的用法。
很晚了、、、、洗洗还是睡吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2