开发者

java如何读取某个文件夹中的全部文件(包括子文件夹)

开发者 https://www.devze.com 2022-12-04 10:21 出处:网络 作者: Hydrion-Qlz
目录Java读取某个文件夹中的全部文件主要思路示例java获取文件夹下指定的文件java读取某个文件夹中的全部文件
目录
  • Java读取某个文件夹中的全部文件
    • 主要思路
    • 示例
  • java获取文件夹下指定的文件

    java读取某个文件夹中的全部文件

    主android要思路

    使用file.listFiles()函数可以获取到某文件夹下的所有文件信息,如果需要访问子文件夹下的文件,则需要对获取到的文件信息进行递归遍历,如果是目录则继续统计,如果是文件则加入文件列表中

    示例

    例如我想读取该java项目中所有的文件(包括子文件夹中的文件)

    java如何读取某个文件夹中的全部文件(包括子文件夹)

    则将第十一行的basePath修改为该文件夹所在路径,运行结果如下图所示

    java如何读取某个文件夹中的全部文件(包括子文件夹)

    代码

    package cn.edu.xjtu;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    public class test {
    
        public static void main(String[] args) {
    
            String basePath = "D:\\code\\java\\typoraImgTypwww.devze.comeTrans";
            File dir = new File(basePath);
    
            List<File> allFileList = new ArrayList<>();
    
            // 判断文件夹是否存在
            if (!dir.exists()) {
                System.out.println("目录不存在");
                return;
            }
    
            getAllFile(dir, allFileList);
    
            for (File file : allFileList) {
                System.out.println(file.getName());
            }
        编程    System.out.println("该文件夹下共有" + allFileList.size() + "个文件");
        }
    
        public static void getAllFile(File fileInput, List<File> allFileList) {
            // 获取文件列表
            File[] fileList = fileInput.listFiles();
            assert fileList != null;
            for (File file : fileList) {
                if (file.isDirectory()) {
                    // 递归处理文件夹
                    //www.devze.com 如果不想统计子文件夹则可以将下一行注释掉
                    getAllFile(file, allFileList);
                } else {
                    // 如果是文件则将其加入到文件数组中
                    allFileList.add(file);
    http://www.devze.com            }
            }
        }
    }
    

    java获取文件夹下指定的文件

    /*
        * 获取指定的文件
        * */
     private ArrayList<String> GetFiles(String path, String searchPattern, ArrayList<String> filesList) {
            if (filesList == null) {
                filesList = new Array开发者_JAVA学习List<>();
            }
            if (!Strings.isNullOrEmpty(path) && !Strings.isNullOrEmpty(searchPattern)) {
                try {
                    File f = new File(path);
                    if (f.exists()) {
                        final File[] files = f.listFiles();
                        for (File file : files) {
                            if (file.isDirectory()) {
                                GetFiles(file.getPath(), searchPattern, filesList);
                            } else if (file.isFile()) {
                                if (file.getName().endsWith(searchPattern)) {
                                    filesList.add(file.getPath().toString());
                                }
                            }
                        }
                    }
                } catch (Exception ex) {
                    System.out.println(ex.getMessage());
                }
            }
            return filesList;
        }
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号