Java使用递归遍历文件夹

93. Java 目录遍历技巧 Java目录遍历是访问和管理文件系统的基本操作,核心方法包括传统的File.listFiles()和Java 7+的NIO.2 API(Files和Path)。主要应用场景涵盖文件管理、日志分析、批量处理等需求。使用File类时需注意空目录判空和递归深度问题,而NIO.2 API则提供了更高效的Files.walk()和Files.list()方法,支持并行流处理和大目录遍历。 阅读详情

打印格式类似

java
  com
    lwm
      log4j2demo
        log4j2demo
          Log4j2demoApplication.java
          ServletInitializer.java
          test
            Log4j2Test.java
resources
  application.properties
  log4j2.txt
  log4j2.xml
  static
    test.xml
  templates
    demo1
      demo1.xml
      title
        title.java
    demo2
      demo2.yaml
    templates.properties
  Zip.xml

网上很多教你怎么用递归遍历文件夹,但是并没有达到我想要的上面的效果,下面是实现代码,遍历文件夹路径下的所有文件和文件夹。

    @Test
    public void testA(){
        File file = new File("文件夹路径");
        File[] files = file.listFiles();
        if (files != null) {
            //开始遍历文件夹,从0个空格开始(可以理解为当前文件夹位置,用于标识)
            traverseFolders(files, 0);
        }
    }

    public void traverseFolders(File[] files, int indexNum) {//
        //indexNum递归中会被修改,所以在每次遍历时,需要定位当前文件夹位置
        int index = indexNum;
        //遍历文件夹
        for (File file : files) {
            indexNum = index;
            //当前文件为文件夹时
            if (file.isDirectory()) {
                //输出当前文件夹名称
                System.out.println(handlingSpaces(indexNum) + file.getName());
                //获得该文件夹下的所有文件以及文件夹
                File[] files1 = file.listFiles();
                if (files1 != null) {
                    indexNum += 1;
                    traverseFolders(files1, indexNum);
                }
            } else {
                System.out.println(handlingSpaces(indexNum) + file.getName());
            }
        }
    }

    public StringBuilder handlingSpaces(int indexNum) {//
        StringBuilder stringBuilder = new StringBuilder();
        if (indexNum > 0) {
            for (int i = 0; i < indexNum; i++) {
                stringBuilder.append("  ");
            }
        }
        return stringBuilder;
    }
Java教程:如何不使用递归实现文件夹的遍历? ​ 大家好,这篇文章为大家介绍一下怎样遍历电脑上的一个文件夹。​ 通常遍历文件夹我们都是使用递归进行操作,这种方式比较简单,也比较容易理解,本文的第一种实现也是使用递归。然后再为大家介绍另一种不使用递归的方式,只用到了循环和集合,这种方式由于没有使用递归,所以效率更高一些! 阅读详情

相关推荐

递归遍历文件夹,获取文件夹中各类文件的个数

递归遍历获取文件夹中各类文件的个数....

qq_40922346的博客 1008

【Java入门】使用Java实现文件夹的遍历

Java实现遍历文件夹下的所有文件(递归调用和非递归调用)

yubao0723的专栏 1万+

【软件分享】天若OCR文字识别V4.48(翻译功能免费)

软件简介 吾爱破解论坛大佬天若幽心开发的一款OCR文字识别工具。支持快速截图识别,以及文本翻译。 下载地址 蓝奏云盘:点击下载 百度网盘:点击下载(密码:4dm4) 坚果云盘:点击下载 天翼云盘:点击下载 微软云盘:点击下载 使用教程 1、下载后对压缩包进行解压 2、双击天若OCR文字识别.exe 3、发现桌面右下角出现软件图标 4、双击软件图标即可开始截图识别 原帖地址 https://www.52pojie.cn/thread-692917-1-1.html ...

XavierJ的博客 1万+

Java递归实现输入任意目录,列出文件以及文件夹

Java递归实现输入任意目录,列出文件以及文件夹

mq24816的博客 795

Adobe Acrobat Pro(Adobe PDF) - 使用技巧

Adobe Acrobat Pro为Adobe出品的PDF查看和编辑软件,下文简称Adobe PDF,该软件功能强大,拥有查看PDF、编辑PDF、打印PDF、导出PDF、合并文件、组织页面、文本标注、注释、动作向导、等功能。本文介绍Adobe PDF的一些使用技巧,最后介绍软件设置。

NSJim的博客 4万+

非线性动力学_用MatCont分析非线性动力学方程组(一)

写在前面:笔者打算写两到三篇系列文章介绍MatCont,此为第一篇《用MatCont分析非线性动力学方程组(一)》。MatCont是一个基于Matlab而开发的免费工具包,专门用来做非线性动力学模型分叉、向量场、周期性等分析,符号(连续性)运算和数值(离散性)运算均适用。该工具的开发及研究项目由比利时Ghent大学的Willy Govaerts教授、荷兰Utrecht大学的Yuri Kuznets...

weixin_39700215的博客 2765

【Java代码】:实现遍历文件夹

Java遍历文件夹所有方式的实现代码。;文件遍历;

SUNxRUN的博客 2458

手把手教你解决Kernel panic报错:init找不到的5种排查方法(附NFS挂载实战)

本文深入解析了Linux系统启动时出现“Kernel panic - not syncing: No working init found”报错的根本原因,并提供了五种系统性的排查方法。文章结合NFS挂载根文件系统的实战场景,详细阐述了从动态链接库依赖、内核引导参数、NFS权限配置、文件系统完整性到内核配置干扰的完整排查路径,帮助开发者快速定位并解决这一常见的系统启动故障。

weixin_29159995的博客 192

java 遍历 文件夹

请替换示例中的/path/to/your/folder为你要遍历的文件夹的实际路径。System.out.println("文件:" + file.getAbsolutePath());System.out.println("文件夹:" + folder.getAbsolutePath());System.out.println("文件:" + file.toAbsolutePath());System.out.println("文件夹:" + dir.toAbsolutePath());

sun13047140038的博客 2133

【图形学】Loop细分算法及半边结构实现(C++)

文章目录Loop 细分算法介绍增加新顶点更新旧顶点算法实现半边结构半边结构的表示方法半边结构的构造方法创建所有顶点创建所有面及半边半边结构的使用 Loop 细分 顾名思义,网格细分是将粗糙网格精细化的过程,如下动图。Loop细分是众多网格细分算法的一种,Loop细分仅仅对三角形网格模型有效。值得注意的是,虽然叫Loop细分,但是不能理解为“循环”细分,叫这个名字是因为作者的名字是这个而已。 下面是一个粗糙的兔子模型1000个面,进行3次细分 算法介绍 Loop细分算法主要分两步进行 增加新顶点:增加

wk_119的博客 8066

YOLO26升级:CVPR2026 WDAM小波方向注意力+C2PSA,频域高频引导低频暗区复原,小目标检测精度跃升!

将 WDAM 引入 YOLO 的 C2PSA 模块,核心优势在于用极低的计算开销,为模型装上了一个“结构感知”的增强器,尤其适合处理密集小目标与边缘部署场景。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 369

Java递归遍历文件夹及文件过滤器使用(FileFilter)

递归遍历文件夹: public static void main(String[] args) {         getFile(new File("D:\\eclipsevaadinxu\\works\\test"));     }     /**      * @author admin      * @param file      * 递归遍历文件夹      */     publi...

pycharm_u的博客 2812

C#与天文观测:Celestia模拟星空的奇幻之旅

Celestia就像一艘穿梭在星海中的小飞船,带领我们遨游宇宙。C#则是这艘飞船的智能导航系统,用代码指挥它飞向任何我们向往的星球或星系。首先,下载并安装Celestia,熟悉其基本操作和功能。创建一个星空目标列表,包括不同的恒星、行星和星系。// 示例:定义观察目标列表new SpaceObject("太阳"),new SpaceObject("月球"),new SpaceObject("火星")

java专栏 1456

JAVA使用递归方法遍历文件夹并获文件下的指定格式文件

JAVA遍历指定文件夹获取指定文件,File类调用方法 该代码是使用File类来关联指定文件和文件夹,输入参数为需要遍历的文件夹。采用递归的方式,来遍历整个文件夹来获取指定文件。比如获得.pdf文件等。 其次就是使用文件输入流和输出流来对文件进行保存。下面给出代码,注意抛异常。 public static void getfiles(File file1) throws IOExcept...

weixin_42989986的博客 2128

知识蒸馏⚗️ | YOLOv5知识蒸馏实战篇

YOLOv5知识蒸馏教程

Coding... 9361

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

JAVA使用递归遍历文件夹,包括子目录

import java.io.File; public class readLine { public static void main(String[] args) { File dir = new File("D:\\files"); ListAll(dir); } private stat...

weixin_30663391的博客 145

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JAVA使用递归遍历所有文件夹下的所有文件

实现比较简单 ,这里就直接上代码了 private static void findAllFile(File f) { //遍历路劲文件 File[] file = f.listFiles(); for (File f1 : file) { //判断是否是文件夹 if(f1.isDirectory(...

FATCATS博客 233

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

使用java 中nio 遍历递归遍历文件夹

您可以使用 Java NIO 的 Path 和 Files 类来递归遍历文件夹。下面是代码示例: import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class NIOFileTraverser { pub...

weixin_35756690的博客 364

java 遍历 zip 文件夹_使用java API进行zip递归压缩文件夹以及解压

一、概述在本篇文章中,给大家介绍一下如何将文件进行zip压缩以及如何对zip包解压。所有这些都是使用Java提供的核心库java.util.zip来实现的。二、压缩文件首先我们来学习一个简单的例子-压缩单个文件。将一个名为test1.txt的文件压缩到一个名为Compressed.zip的zip文件中。public class ZipFile {public static void main(St...

weixin_31981135的博客 1066

使用java的File类遍历文件夹,打印树状结构(递归实现)

无聊的时候写的,使用了File的listFiles方法来实现,先记下,以后要用的时候可以用,程序比较简单,直接上代码 public class Test { public static void main(String[] args) throws IOException { File f = new File("F:/test"); File[] files = f.listFile

菜鸟一名 3746

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

JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)1.不使用递归的方法调用.public void traverseFolder1(String path) {int fileNum = 0, folderNum = 0;File file = new File(path);if (file.exists()) {LinkedList list = new LinkedList();File...

weixin_30666407的博客 371

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

本篇文章主要介绍了JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) ,具有一定的参考价值,有兴趣的可以了解一下。JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)1.不使用递归的方法调用.public void traverseFolder1(String path) {int fileNum = 0, folderNum = 0;File file = new File(path)...

weixin_35435986的博客 665

JAVA递归遍历文件夹

public static void main(String[] args) throws IOException { //填入需要匹配的文件夹 File file=new File("E:\\demo"); //调用方法 matchesFile(file); } public static void matchesFile(File file) throws IOException { //判断文件类...

weixin_45908558的博客 356
上一篇: 1.Java程序运行流程
下一篇: 关于无法使用启动了启动spring项目的几种可能
终成败寇
博客等级 码龄7年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值