1:循环遍历不是用递归

public void traverseFolder1(String path) {
        int fileNum = 0, folderNum = 0;
        File file = new File(path);
        if (file.exists()) {
            LinkedList<File> list = new LinkedList<File>();
            File[] files = file.listFiles();
            for (File file2 : files) {
                if (file2.isDirectory()) {
                    System.out.println("文件夹:" + file2.getAbsolutePath());
                    list.add(file2);
                    foldeNum++;
                } else {
                    System.out.println("文件:" + file2.getAbsolutePath());
                    fileNum++;
                }
            }
            File temp_file;
            while (!list.isEmpty()) {
                temp_file = list.removeFirst();
                files = temp_file.listFiles();
                for (File file2 : files) {
                    if (file2.isDirectory()) {
                        System.out.println("文件夹:" + file2.getAbsolutePath());
                        list.add(file2);
                        folderNum++;
                    } else {
                        System.out.println("文件:" + file2.getAbsolutePath());
                        fileNum++;
                    }
                }
            }
        } else {
            System.out.println("文件不存在!");
        }
        System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);

}

2:使用递归的方法调用

public void traverseFolder2(String path) {

File file = new File(path);
        if (file.exists()) {
            File[] files = file.listFiles();
            if (null == files || files.length == 0) {
                System.out.println("文件夹是空的!");
                return;
            } else {
                for (File file2 : files) {
                    if (file2.isDirectory()) {
                        System.out.println("文件夹:" + file2.getAbsolutePath());
                        traverseFolder2(file2.getAbsolutePath());
                    } else {
                        System.out.println("文件:" + file2.getAbsolutePath());
                    }
                }
            }
        } else {
            System.out.println("文件不存在!");
        }
    }

public static List<File> getFileList(String strPath) {
        File dir = new File(strPath);
        File[] files = dir.listFiles(); // 该文件目录下文件全部放入数组
        if (files != null) {
            for (int i = 0; i < files.length; i++) {
                String fileName = files[i].getName();
                if (files[i].isDirectory()) { // 判断是文件还是文件夹
                    getFileList(files[i].getAbsolutePath()); // 获取文件绝对路径
                } else if (fileName.endsWith("avi")) { // 判断文件名是否以.avi结尾
                    String strFileName = files[i].getAbsolutePath();
                    System.out.println("---" + strFileName);
                    filelist.add(files[i]);
                } else {
                    continue;
                }
            }

}
        return filelist;
    }

转载于:https://www.cnblogs.com/ysySelf/p/10508818.html

JAVA 遍历文件夹下的所有文件相关推荐

  1. java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  2. java遍历文件夹下的_Java遍历文件夹下的所以文件

    利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...

  3. Java中如何读取文件夹下的所有文件

    问题:Java中如何读取文件夹下的所有文件 Java里面是如何读取一个文件夹下的所有文件的? 回答一 public void listFilesForFolder(final File folder) ...

  4. java 文件夹下的文件_java读取某个文件夹下的所有文件

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.File; public class  ...

  5. c语言 遍历文件夹中所有文件名,C# 遍历文件夹下所有子文件夹中的文件,得到文件名...

    假设a文件夹在F盘下,代码如下.将文件名输出到一个ListBox中 using System.Data; using System.Drawing; using System.Linq; using ...

  6. java命令 jar文件夹_java中jar命令打包一个文件夹下的所有文件

    (1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...

  7. C#遍历得到指定文件夹下的所有文件和子文件夹

    1.遍历指定文件夹下的所有文件 string path = Application.StartupPath + "\\data\\采集数据\\"; DirectoryInfo ro ...

  8. python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...

    python 统计指定文件夹下所有的文件数量 本来一直是有这个需求,只是以前写的是递归的方式处理,感觉对资源的占用不友好,而且python的最大递归深度不超过1000,所以改了一下,这里用广度优先遍历 ...

  9. java 读文件夹_java怎么读取读取文件夹下的所有文件夹和文件?

    下是实现的代码:package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IO ...

  10. java怎么读取文件夹下的_java怎么读取读取文件夹下的所有文件夹和文件?

    下是实现的代码:package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IO ...

最新文章

  1. eclipse导入项目后出现红色叉号的解决方案
  2. oracle11g知乎,【AAAI】AAAI2020录用论文汇总(二)
  3. 基于FFmpeg和Android的音视频同步播放实现
  4. RabbitMQ消息队列(二):”Hello, World“
  5. {面试题49} 把字符串转换成整数
  6. c语言入门经典案例,c语言入门经典案例及飞源代码.doc
  7. matlab guide 自定义右键菜单
  8. 铁幕一体计算机配置,讽刺的铁幕来自俄罗斯套娃的爱情配置要求介绍 配置要求高吗_游侠网...
  9. mysql导出选择两张表,Mysql导出(多张表)表结构及表数据 mysqldump用法
  10. 何小鹏“维权”事后谈造车:心很累 曾购上千瓶白酒缓解压力
  11. python项目软件代码_七套Python库快速提升您项目的代码可维护性,软件工程,代码库...
  12. (转):GOF设计模式趣解(23种设计模式)
  13. 谁偷偷删了你的微信?别慌!一篇Python学习教程帮你都揪出来
  14. Android ProGuard 代码压缩混淆与打包优化
  15. 英国大概率退出欧盟!
  16. Nagios利用NRPE监控Linux主机
  17. Java多商户商城源码 PC+小程序+APP源码+H5 B2B2C商城源码
  18. spring boot跳过maven test
  19. 开启功放安桥TX-NR515的ARC(音频回传通道)功能
  20. 存款机不认的新版人民币

热门文章

  1. java swing html_Swing中如何使用HTML按钮
  2. akamai:与看视频广告等待相比,用户更不能忍受缓冲等待
  3. c 语言表达式求值中缀变后缀,表达式求值关于中缀式转后缀式的问题!
  4. int java 时间,java 时间处理类
  5. elf section类型_ELF文件格式解析
  6. python写一个笔记软件_科学网—python学习笔记(1)——创建应用 - 高雪峰的博文...
  7. 【Luogu1182】数列分段Section II(二分)
  8. vscode 清空缓存_如何清除Visual Studio Code的TypeScript的intellisense缓存?
  9. jQuery之创建节点
  10. c语言指数怎么表示_Assembly 浮点表示法