美文网首页
java遍历一个目录结构

java遍历一个目录结构

作者: 音乐与咖啡Bean | 来源:发表于2018-10-10 09:58 被阅读0次

    import java.io.File;

    import java.io.IOException;

    public class DirErgodic {

    private static int depth=1;

    public static void find(String pathName,int depth) throws IOException{

    int filecount=0;

    //获取pathName的File对象

    File dirFile = new File(pathName);

    //判断该文件或目录是否存在,不存在时在控制台输出提醒

    if (!dirFile.exists()) {

    System.out.println("do not exit");

    return ;

    }

    //判断如果不是一个目录,就判断是不是一个文件,时文件则输出文件路径

    if (!dirFile.isDirectory()) {

    if (dirFile.isFile()) {

    System.out.println(dirFile.getCanonicalFile());

    }

    return ;

    }

    for (int j = 0; j < depth; j++) {

    System.out.print("  ");

    }

    System.out.print("|--");

    System.out.println(dirFile.getName());

    //获取此目录下的所有文件名与目录名

    String[] fileList = dirFile.list();

    int currentDepth=depth+1;

    for (int i = 0; i < fileList.length; i++) {

    //遍历文件目录

    String string = fileList[i];

    //File("documentName","fileName")是File的另一个构造器

    File file = new File(dirFile.getPath(),string);

    String name = file.getName();

    //如果是一个目录,搜索深度depth++,输出目录名后,进行递归

    if (file.isDirectory()) {

    //递归

    find(file.getCanonicalPath(),currentDepth);

    }else{

    //如果是文件,则直接输出文件名

    for (int j = 0; j < currentDepth; j++) {

    System.out.print("  ");

    }

    System.out.print("|--");

    System.out.println(name);

    }

    }

    }

    public static void main(String[] args) throws IOException{

    find("D:\\MongoDB", depth);

    }

    }

    相关文章

      网友评论

          本文标题:java遍历一个目录结构

          本文链接:https://www.haomeiwen.com/subject/wozuaftx.html