如c::\\aa下有文件夹bb和cc,如何读取aa下的文件夹名?

解决方案 »

  1.   

    import java.io.File;
    import java.util.ArrayList;
    public class FileManager {

    ArrayList<String>  arrayList = new ArrayList<String>();

    public void readDirectory(String filePath){
    File file = new File(filePath);
    if(file.isDirectory()){
    arrayList.add(filePath);
    File[]  fileList = file.listFiles(); 
    for(int i = 0;i<fileList.length; i++){
    File childFile = new File(fileList[i].getAbsolutePath());
    if(childFile.isDirectory()){
    readDirectory(childFile.getAbsolutePath());
    }
    }
    }

    }
    public static void main(String[] args) {
    String str = "c:\\aa";
    FileManager fileManager = new FileManager();
    fileManager.readDirectory(str);
    ArrayList<String>  arrayList = fileManager.arrayList;
    for(int i = 0; i< arrayList.size(); i++){
    System.out.println(arrayList.get(i));
    }
    }}
      

  2.   

    用递归!
    可以将一个文件夹下的所有
    文件夹,文件
    都可以读取!
    以下是操作目录的例子:
    /**
     * <p>Title: 目录操作</p>
     * <p>Description: 演示列目录下的文件,和移动一个目录</p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Filename: Dir.java</p>
     * @author 杜江
     * @version 1.0
     */
    import java.io.*;
    public class Dir{
     /**
     *<br>方法说明:实现目录列表
     *<br>输入参数:
     *<br>返回类型:
     */ 
      public String[] DirList(String pathName){
        try{
          File path = null;
          String[] fileList;
          //如果没有指定目录,则列出当前目录。
          if(pathName.equals(""))
            path = new File(".");
          else
            path = new File(pathName);
          //获取目录文件列表
          if(path.isDirectory())
            fileList = path.list();
          else
            return null;
         return fileList;
        }catch(Exception e){
          System.err.println(e);
          return null;
        }
      }
    /**
     *<br>方法说明:移动一个目录
     *<br>输入参数:String sou 源目录, String obj 新目录
     *<br>返回类型:
     */
      public boolean DirMove(String sou, String obj){
        try{
         //检查源文件是否存在
          boolean sexists = (new File(sou)).isDirectory();
          if(!sexists) return false;
          boolean oexists = (new File(obj)).isDirectory();
          //目标目录不存在,建立一个
          if(!oexists){
            (new File(obj)).mkdirs();
          }
       
            File file = new File(sou);
            File dir = new File(obj);
            //移动目录
            boolean success = file.renameTo(new File(dir, file.getName()));
            if (!success) {
             System.out.println("copy error!");
             return false;
            }
            else return true;
        }catch(Exception e){
         System.out.println(e);
         return false;
        }
        
      }/**
     *<br>方法说明:主方法
     *<br>输入参数:
     *<br>返回类型:
     */
      public static void main(String[] args){
         Dir d = new Dir();
        if(args.length==0){
          return;
        }else{
          String cmd = args[0];
          if(cmd.equals("list")){
           if(args.length!=2) return;
            String[] sTemp = d.DirList(args[1]);
            for(int i=0;i<sTemp.length;i++)
              System.out.println(sTemp[i]);
          }else if(cmd.equals("move")){
           if(args.length!=3) return;      
            d.DirMove(args[1],args[2]);
          }
          
        }
       }

      

  3.   

    import java.io.File;
    import java.util.ArrayList;public class FileManager
    { ArrayList<String> arrayList = new ArrayList<String>(); public void readDirectory(String filePath)
    {
    File file = new File(filePath);
    if (file.isDirectory())
    {
    arrayList.add(filePath);
    File[] fileList = file.listFiles();
    for (int i = 0; i < fileList.length; i++)
    {
    File childFile = new File(fileList[i].getAbsolutePath());
    if (childFile.isDirectory())
    {
    readDirectory(childFile.getAbsolutePath());
    }
    }
    } } public static void main(String[] args)
    {
    String str = "C:\\Java\\jdk1.5.0_06";
    FileManager fileManager = new FileManager();
    fileManager.readDirectory(str);
    ArrayList<String> arrayList = fileManager.arrayList;
    for (int i = 0; i < arrayList.size(); i++)
    {
    System.out.println(arrayList.get(i));
    }
    }}二楼的,写得不错,赞!
      

  4.   

    运行结果:
    C:\Java\jdk1.5.0_06
    C:\Java\jdk1.5.0_06\bin
    C:\Java\jdk1.5.0_06\demo
    C:\Java\jdk1.5.0_06\demo\applets
    C:\Java\jdk1.5.0_06\demo\applets\Animator
    C:\Java\jdk1.5.0_06\demo\applets\Animator\audio
    C:\Java\jdk1.5.0_06\demo\applets\Animator\images
    C:\Java\jdk1.5.0_06\demo\applets\Animator\images\Beans
    C:\Java\jdk1.5.0_06\demo\applets\Animator\images\SimpleAnimation
    C:\Java\jdk1.5.0_06\demo\applets\ArcTest
    C:\Java\jdk1.5.0_06\demo\applets\BarChart
    C:\Java\jdk1.5.0_06\demo\applets\Blink
    C:\Java\jdk1.5.0_06\demo\applets\CardTest
    C:\Java\jdk1.5.0_06\demo\applets\Clock
    C:\Java\jdk1.5.0_06\demo\applets\DitherTest
    C:\Java\jdk1.5.0_06\demo\applets\DrawTest
    C:\Java\jdk1.5.0_06\demo\applets\Fractal
    C:\Java\jdk1.5.0_06\demo\applets\GraphicsTest
    C:\Java\jdk1.5.0_06\demo\applets\GraphLayout
    C:\Java\jdk1.5.0_06\demo\applets\GraphLayout\audio
    C:\Java\jdk1.5.0_06\demo\applets\ImageMap
    C:\Java\jdk1.5.0_06\demo\applets\ImageMap\audio
    C:\Java\jdk1.5.0_06\demo\applets\ImageMap\images
    C:\Java\jdk1.5.0_06\demo\applets\JumpingBox
    C:\Java\jdk1.5.0_06\demo\applets\JumpingBox\sounds
    C:\Java\jdk1.5.0_06\demo\applets\MoleculeViewer
    C:\Java\jdk1.5.0_06\demo\applets\MoleculeViewer\models
    C:\Java\jdk1.5.0_06\demo\applets\NervousText
    C:\Java\jdk1.5.0_06\demo\applets\SimpleGraph
    C:\Java\jdk1.5.0_06\demo\applets\SortDemo
    C:\Java\jdk1.5.0_06\demo\applets\SpreadSheet
    C:\Java\jdk1.5.0_06\demo\applets\TicTacToe
    C:\Java\jdk1.5.0_06\demo\applets\TicTacToe\audio
    C:\Java\jdk1.5.0_06\demo\applets\TicTacToe\images
    C:\Java\jdk1.5.0_06\demo\applets\WireFrame
    C:\Java\jdk1.5.0_06\demo\applets\WireFrame\models
    C:\Java\jdk1.5.0_06\demo\jfc
    C:\Java\jdk1.5.0_06\demo\jfc\CodePointIM
    C:\Java\jdk1.5.0_06\demo\jfc\CodePointIM\src
    C:\Java\jdk1.5.0_06\demo\jfc\CodePointIM\src\resources
    C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo
    C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo\images
    C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo\src
    C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo\src\resources
    C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo\src\resources\images
    C:\Java\jdk1.5.0_06\demo\jfc\Font2DTest
    C:\Java\jdk1.5.0_06\demo\jfc\Font2DTest\src
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\fonts
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\images
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Arcs_Curves
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Clipping
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Colors
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Composite
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Fonts
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Images
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Lines
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Mix
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Paint
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Paths
    C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Transforms
    C:\Java\jdk1.5.0_06\demo\jfc\Metalworks
    C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\HelpFiles
    C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\images
    C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\resources
    C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\src
    C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\src\resources
    C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\src\resources\HelpFiles
    C:\Java\jdk1.5.0_06\demo\jfc\Notepad
    C:\Java\jdk1.5.0_06\demo\jfc\Notepad\resources
    C:\Java\jdk1.5.0_06\demo\jfc\Notepad\src
    C:\Java\jdk1.5.0_06\demo\jfc\Notepad\src\resources
    C:\Java\jdk1.5.0_06\demo\jfc\SampleTree
    C:\Java\jdk1.5.0_06\demo\jfc\SampleTree\images
    C:\Java\jdk1.5.0_06\demo\jfc\SampleTree\src
    C:\Java\jdk1.5.0_06\demo\jfc\SampleTree\src\resources
    C:\Java\jdk1.5.0_06\demo\jfc\SampleTree\src\resources\images
    C:\Java\jdk1.5.0_06\demo\jfc\Stylepad
    C:\Java\jdk1.5.0_06\demo\jfc\Stylepad\resources
    C:\Java\jdk1.5.0_06\demo\jfc\Stylepad\src
    C:\Java\jdk1.5.0_06\demo\jfc\Stylepad\src\resources
    C:\Java\jdk1.5.0_06\demo\jfc\SwingApplet
    C:\Java\jdk1.5.0_06\demo\jfc\SwingApplet\src
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\buttons
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\combobox
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\filechooser
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\htmldemo
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\ImageClub
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\ImageClub\food
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\ImageClub\misc
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\list
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\Octavo
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\optionpane
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\scrollpane
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\splitpane
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\tabbedpane
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\toolbar
    C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\tooltip
    C:\Java\jdk1.5.0_06\demo\jfc\TableExample
    C:\Java\jdk1.5.0_06\demo\jfc\TableExample\src
    C:\Java\jdk1.5.0_06\demo\jpda
    C:\Java\jdk1.5.0_06\demo\jvmti
    C:\Java\jdk1.5.0_06\demo\jvmti\agent_util
    C:\Java\jdk1.5.0_06\demo\jvmti\agent_util\src
    C:\Java\jdk1.5.0_06\demo\jvmti\gctest
    C:\Java\jdk1.5.0_06\demo\jvmti\gctest\lib
    C:\Java\jdk1.5.0_06\demo\jvmti\gctest\src
    C:\Java\jdk1.5.0_06\demo\jvmti\heapTracker
    C:\Java\jdk1.5.0_06\demo\jvmti\heapTracker\lib
    C:\Java\jdk1.5.0_06\demo\jvmti\heapTracker\src
    C:\Java\jdk1.5.0_06\demo\jvmti\heapViewer
    C:\Java\jdk1.5.0_06\include
    C:\Java\jdk1.5.0_06\include\win32
    C:\Java\jdk1.5.0_06\jre
    C:\Java\jdk1.5.0_06\jre\bin
    C:\Java\jdk1.5.0_06\jre\bin\client
    C:\Java\jdk1.5.0_06\jre\bin\server
    C:\Java\jdk1.5.0_06\jre\lib
    C:\Java\jdk1.5.0_06\jre\lib\applet
    C:\Java\jdk1.5.0_06\jre\lib\audio
    C:\Java\jdk1.5.0_06\jre\lib\cmm
    C:\Java\jdk1.5.0_06\jre\lib\ext
    C:\Java\jdk1.5.0_06\jre\lib\fonts
    C:\Java\jdk1.5.0_06\jre\lib\i386
    C:\Java\jdk1.5.0_06\jre\lib\im
    C:\Java\jdk1.5.0_06\jre\lib\images
    C:\Java\jdk1.5.0_06\jre\lib\images\cursors
    C:\Java\jdk1.5.0_06\jre\lib\javaws
    C:\Java\jdk1.5.0_06\jre\lib\management
    C:\Java\jdk1.5.0_06\jre\lib\security
    C:\Java\jdk1.5.0_06\jre\lib\zi
    C:\Java\jdk1.5.0_06\jre\lib\zi\Africa
    C:\Java\jdk1.5.0_06\jre\lib\zi\America
    C:\Java\jdk1.5.0_06\jre\lib\zi\America\Argentina
    C:\Java\jdk1.5.0_06\jre\lib\zi\America\Indiana
    C:\Java\jdk1.5.0_06\jre\lib\zi\America\Kentucky
    C:\Java\jdk1.5.0_06\jre\lib\zi\America\North_Dakota
    C:\Java\jdk1.5.0_06\jre\lib\zi\Antarctica
    C:\Java\jdk1.5.0_06\jre\lib\zi\Asia
    C:\Java\jdk1.5.0_06\jre\lib\zi\Atlantic
    C:\Java\jdk1.5.0_06\jre\lib\zi\Australia
    C:\Java\jdk1.5.0_06\jre\lib\zi\Etc
    C:\Java\jdk1.5.0_06\jre\lib\zi\Europe
    C:\Java\jdk1.5.0_06\jre\lib\zi\Indian
    C:\Java\jdk1.5.0_06\jre\lib\zi\Pacific
    C:\Java\jdk1.5.0_06\lib
    C:\Java\jdk1.5.0_06\sample
    C:\Java\jdk1.5.0_06\sample\jnlp
    C:\Java\jdk1.5.0_06\sample\jnlp\corba
    C:\Java\jdk1.5.0_06\sample\jnlp\corba\src
    C:\Java\jdk1.5.0_06\sample\jnlp\corba\src\core
    C:\Java\jdk1.5.0_06\sample\jnlp\corba\src\stubs
    C:\Java\jdk1.5.0_06\sample\jnlp\corba\war
    C:\Java\jdk1.5.0_06\sample\jnlp\corba\war\app
    C:\Java\jdk1.5.0_06\sample\jnlp\corba\war\WEB-INF
    C:\Java\jdk1.5.0_06\sample\jnlp\jreinstaller
    ..............................
    太长了省略了
      

  5.   


    import java.io.*; 
    public class FlodFind { public static void main(String[] args) { 
    File f = new File("c:/aa"); 
    String[] list = new String[10] ; 
    int cnt = 0; 
    list = f.list(); 
    cnt = list.length; 
    for (int i=0;i<cnt;i++) { 
    System.out.println(list[i]); 


    } 这个方法的不好处是如果aa文件夹下有文件,他也会检索出来
    同时,我设置的最大数是10;如果文件夹和文件多,要修改。。
      

  6.   

    File file = new File("D:/aa");
      if (file.isDirectory()) {
        File[] files = file.listFiles(new FileFilter(){
          public boolean accept(File pathname) {
            if (pathname.isDirectory()) {
              return true;
            }
            return false;
          }
      });
      
      for(File f : files) {
        System.out.println(f.getName());
      }
    }