我想要在JAVA中遍历目录,并生成动态树。就像我们平时安装软件时的那种界面框。比如点击C盘它就能动态显示该盘下面所有的文件夹。(不要直接遍历出子文件夹下的文件,只要显示该子文件夹的目录名就好) 我在网上看到的相关资料都是直接递归把所有的文件名遍历出来。请问有什么调用是显示文件夹名的呢?望高手指点

解决方案 »

  1.   

    if (file.isDirectory()) {
        String name = file.getName();
    }
      

  2.   

    package mylist;
    import   java.io.*;   public class ListFile 
    {
      public   static   void   main(String[]   args)   throws   Exception
                       {   
        listFile(new   File("D:\\Tomcat   5.0"));   
        }   
          
        public   static   void   listFile(File   file)   throws   Exception   
                       {   
        if(file.isFile())  {System.out.println("File   :"+file.getAbsolutePath()); }   
        else    {  System.out.println("Dir   :"+file.getAbsolutePath());   
                                     File[]   files   =   file.listFiles();   
                                     for(int   i   =   0;i<files.length;i++)  
                                             {   listFile(files[i]);      }
                    }   
        }  }
    我运行的这段代码总是报错。也不知道哪错了。如果删掉循环直接输出的话,后台显示的是空白。什么也输出不了。
      

  3.   

    public static void listFile(File file) throws Exception {
    if (file.isFile()) {
    System.out.println("File   :" + file.getAbsolutePath());
    } else {
    System.out.println("Dir   :" + file.getAbsolutePath());
    File[] files = file.listFiles();
    for (int i = 0; i < files.length; i++) {
    File curFile=files[i];
    System.out.println((curFile.isDirectory()?"Dir   :":"File   :") + curFile.getAbsolutePath());
    //listFile(files[i]);
    }
    }
    }  试了下,没什么问题,你都不要递归的,怎么又递归调用了.