当前位置: 代码迷 >> J2SE >> 怎么用递归的方法打印出:在D盘上的一个文件中所有的目录
  详细解决方案

怎么用递归的方法打印出:在D盘上的一个文件中所有的目录

热度:5180   发布时间:2013-02-25 00:00:00.0
如何用递归的方法打印出:在D盘下的一个文件中所有的目录.
如何用递归的方法打印出:在D盘下的一个文件中所有的目录.比如在D盘下有一个文件bak,如何打印出里面的文件的文件,直到最后一个文件.

------解决方案--------------------------------------------------------
Java code
import java.io.*;public class Demo01{    public static void main(String... args) {        //D:\document\java\JAVASE        File f = new File("D:"+File.separator+"document"+                    File.separator+"java"+File.separator+"JAVASE");        fun(f);    }    public static void fun(File name) {        File[] farr = name.listFiles();        for(int i = 0; i < farr.length;i++) {            if(farr[i].isDirectory()) {                System.out.println(farr[i].getName()+"目录下:");                fun(farr[i]);                System.out.println("");                            } else {                System.out.println(farr[i].getName());            }        }            }}
------解决方案--------------------------------------------------------
第一个是递归的,第二个是非递归的。
Java code
import java.io.*; import java.util.*; public class ListFileRecursion{          public static void listFile(String filePath){         File file = new File(filePath);                  if(file.exists()){             if(file.isDirectory()){                 System.out.print("Folder: "+ file.toString());                                  File[] fileArray = file.listFiles();                                  System.out.println(" includes "+ fileArray.length +" files/folders directly.");                                  for(File subFile : fileArray){                     listFile(subFile.toString());                 }             }             else{                 System.out.println(file.toString());             }         }         else{             System.err.print("The file/folder doesn't exist!");         }     }          public static void main(String args[]){         listFile("C:\\VM_Image");     } }本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/justinavril/archive/2008/09/20/2955991.aspx
  相关解决方案