java.util.File.listFiles()配合java.util.File.isDirectory()

解决方案 »

  1.   

    public Vector getFolderList(String folder){      Vector v=new Vector();
          try{
            File newFile=new File(folder);
              if(newFile.isDirectory()){
              String[] fileList;             //字符数组
      fileList=(String[])newFile.list();
                                         System.out.println(fileList.length);
      for(int i=0;i<fileList.length;i++){
      String foldername=fileList[i];
    File thefolder=new File(folder+"\\"+foldername);
    if(thefolder.isDirectory()){
                               v.addElement(thefolder);
      }
      }
              }
                  else{                System.out.println("This is Not Directory!");
                 }
            }
          catch(Exception e){      System.out.println("getFileName()"+e.getMessage());
          }          return v;     }floder:是一个已知的文件夹的路径,而且这表文件夹下已有若干文件夹,但仍无法获得相关信息谢谢
      

  2.   

    用newFile.listFiles()不要用newFile.list()
      

  3.   

    你的逻辑需求描述的不是很清楚例如:
    d:\folder
       ---\childFolder1\c1.txt
       ---\childFolder2\
       ---\childFolder3\c3.txt
       ---\childFolder4\
    假如是这样一个形式的文件结构,你要得到怎样的信息?
      

  4.   

    给你做了一个例子,目录结构如上import java.io.*;
    public class folder{
    public void echoFolderInfo(String folder){
          try{
            File file=new File(folder);
             //String[] fileList=null;
             File[] fileList = file.listFiles();
             
             if(null !=fileList){
              for(int i=0;i<fileList.length;i++){
              if(fileList[i].isDirectory()){
              System.out.println("folder:"+fileList[i].getName());
              echoFolderInfo(fileList[i].getAbsolutePath());
              }else{
                   System.out.println("file:"+fileList[i].getName());
               }         
    }
             }         }
          catch(Exception e){      System.out.println("getFileName()"+e.getMessage());
          }     }

    public static void main(String[] args){
    folder aFolder= new folder();
    aFolder.echoFolderInfo("d:\\folder");

    }
    }