java程序的递归算法,列出某个目录下的所有子目录和文件

时间:2021-11-29 12:08:51


   
作者:佚名    技术来源:广州网搏   

/*
文件名: DiGui.java
描述: 学习递归算法,列出某个目录下面的所有子目录(包括子目录下面的目录和文件)
      以及文件。递归函数,就是在一个函数里面直接或者间接的调用该函数本身。
作者: 慈勤强
Email:
cqq1978@Gmail.com
http://blog.csdn.net/cqq
*/

import java.io.*;

class DiGui
{
 static void getDir(String strPath) throws Exception
 {
  try
  {
   File f=new File(strPath);
   if(f.isDirectory())
   {
    File[] fList=f.listFiles();
    for(int j=0;j<fList.length;j++)
    {
     if(fList[j].isDirectory())
     {
      System.out.println(fList[j].getPath());
      getDir(fList[j].getPath()); //在getDir函数里面又调用了getDir函数本身       
     }
    }
    for(int j=0;j<fList.length;j++)
    {

     if(fList[j].isFile())
     {
      System.out.println(fList[j].getPath());
     }

    }
   }
  }
  catch(Exception e)
  {
   System.out.println("Error: " + e);
  }
 
 } 
 
 public static void main(String[] args)
 {
  String strPath="e://cqq";
  System.out.println(strPath);

  try
  {
   getDir(strPath);
  }
  catch(Exception e)
  {
  
  }
 }
}