使用递归,找出某目录下得所有子目录以及子文件.

方法1:

import java.io.*;
public class ListFileTest01
{    public static void main(String[] args) 
    {
        File f1=new File("G:/javaPro");
        showAllFiles(f1,0);
    }

    public static void showAllFiles(File f,int level){
        String s="";
        for(int i=0; i<level; i++){
            s+="-";
        }
        File[] files=f.listFiles();
        for(int i=0; i<files.length; i++){
            System.out.println(s+files[i].getName());
            if(files[i].isDirectory()){
                showAllFiles(files[i],level+1);
            }
        }

    }
}

方法2

/*
    使用递归,找出某目录下得所有子目录以及子文件.

*/
import java.io.*;

public class Test03
{
    public static void main(String[] args){
        
        //  G:/JavaSE_01/chapter08_IO
        File f = new File("G:/javaPro");

        //调用方法完成查找
        method1(f);
    }

    public static void method1(File f){
        
        //如果f是文件的话,return
        if(f.isFile()){
            return;
        }
        
        //f有两种可能,f可能是文件,也可能是目录
        //先当做目录
        File[] fs = f.listFiles();

        for(File subF:fs){
            System.out.println(subF.getAbsolutePath());//打印目录下的所有目录和文件
            method1(subF);

        }

    }
}

 

posted @ 2017-08-18 16:29  Allen101  阅读(155)  评论(0)    收藏  举报