zoukankan      html  css  js  c++  java
  • java递归遍历目录获取所有文件及目录方案

    本文提供一份递归遍历目录获取所有文件及目录的源代码:

    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by Administrator on 2019/2/10.
     */
    public class TestWalkDir {
    
        static class FileComponent
        {
            File curFile;
            List<FileComponent> fileComponentList = new ArrayList<FileComponent>();
    
            public FileComponent(File file)
            {
                curFile = file;
                File[] childFiles = curFile.listFiles();
                if(null != childFiles && childFiles.length > 0) {
                    for (File child : childFiles) {
                        FileComponent childFileComp = new FileComponent(child);
                        fileComponentList.add(childFileComp);
                    }
                }
            }
    
            public FileComponent(String filePath)
            {
                this(new File(filePath));
            }
    
            public List<File> getAllFilesAndDirsList()
            {
                List<File> files = new ArrayList<File>();
                files.add(curFile);
                for (FileComponent child: fileComponentList)
                {
                    files.addAll(child.getAllFilesAndDirsList());
                }
                return files;
            }
        }
    
        static class Tester
        {
            public static void main(String[] args) {
                FileComponent fileComponent = new FileComponent("F:\root");
                List<File> files = fileComponent.getAllFilesAndDirsList();
                for (File file: files)
                {
                    System.out.println(file);
                }
            }
        }
    
    }
    

    演示效果如下,所有的文件名及目录名都被打印出来了。

    基于以上代码,按照自己的需求额外扩展实现(例如获取所有文件、或者所有目录,或者提供Iterator接口,在此不作实现)。

  • 相关阅读:
    平面点集最佳平面
    快速变幻AABB的顶点
    惯性坐标系
    Grapher
    Grapher
    射线到直线方程的转换
    两个运动球的相交性测试
    射线和球的相交性
    Glow Shader
    Shder中实现TintColor
  • 原文地址:https://www.cnblogs.com/xinxinBlog/p/10360066.html
Copyright © 2011-2022 走看看