当前位置: 首页 > news >正文

Java实战:递归查找指定后缀名的文件

在日常的软件开发中,经常需要处理文件操作。假设我们有一个需求:从一个包含大量JSON文件的文件夹中提取出所有的JSON文件以进行进一步处理。本文将介绍如何利用Java编写一个高效的方法来递归查找指定后缀名的文件。

代码实现:

import java.io.File;
import java.util.ArrayList;
import java.util.List;public class FileProcessor {/*** 查找指定文件夹下的所有指定后缀文件** @param directoryPath 文件夹路径* @param fileSuffix    文件夹后缀* @return List<File>*/public List<File> findJSONFiles(String directoryPath, String fileSuffix) {List<File> jsonFiles = new ArrayList<>();File directory = new File(directoryPath);if (directory.exists() && directory.isDirectory()) {File[] files = directory.listFiles();if (files != null) {for (File file : files) {if (file.isFile() && file.getName().toLowerCase().endsWith(fileSuffix.toLowerCase())) {jsonFiles.add(file);} else if (file.isDirectory()) {// 递归调用,处理子目录jsonFiles.addAll(findJSONFiles(file.getAbsolutePath(), fileSuffix));}}}}return jsonFiles;}public static void main(String[] args) {FileProcessor processor = new FileProcessor();String folderUrl = "C:\\Users\\yz\\Desktop\\json\\history\\history\\";List<File> jsonFiles = processor.findJSONFiles(folderUrl, ".json");// 输出所有找到的JSON文件路径jsonFiles.forEach(file -> System.out.println(file.getPath()));}
}

使用说明:
在上面的代码中,我们首先定义了一个FileProcessor类,其中包含了一个findJSONFiles方法,用于查找指定文件夹下的所有指定后缀名的文件。然后在main方法中,我们创建了一个FileProcessor对象,并调用findJSONFiles方法来查找指定文件夹中的所有JSON文件。最后,我们输出了所有找到的JSON文件的路径。

结论:
通过这个简单而有效的Java方法,我们能够轻松地从指定的文件夹中提取出所有的JSON文件。这种方法不仅可以用于处理历史数据导入的场景,还可以应用于其他需要递归查找文件的情况,为文件操作提供了便利和效率。

http://www.lryc.cn/news/347008.html

相关文章:

  • Linux 操作系统网络编程1
  • future wait_for()成员、shared_future
  • C++ list介绍(迭代器失效)
  • codeforces 1809C
  • Nginx part3 创建一个https的网站
  • 事件高级。
  • Vue从入门到实战Day04
  • Linux学习笔记:信号
  • C#中的隐式类型转换和显式类型转换
  • linux上如何排查JVM内存过高?
  • 第四届上海理工大学程序设计全国挑战赛 J.上学 题解 DFS 容斥
  • word-排版文本基本格式
  • 目标检测YOLO实战应用案例100讲-无监督领域自适应目标检测方法研究与应用(五)
  • 通过python实现Google的精准搜索
  • Nios-II编程入门实验
  • 从0开始学python(七)
  • 【二叉树算法题记录】404. 左叶子之和
  • 面试集中营—Spring篇
  • Lia 原理
  • 文本批量操作技巧:内容查找不再繁琐,自动化批量移动至指定文件夹
  • [数据结构]动画详解单链表
  • 图片批量管理迈入智能新时代:一键输入关键词,自动生成并保存惊艳图片,轻松开启创意之旅!
  • 【硬件模块】ESP-01SWiFi模块基于AT指令详解(WiFi,TCP/IP,MQTT)
  • 数据结构之单单单——链表
  • 【Linux笔记】 基础指令(二)
  • 软件全套资料梳理(需求、开发、实施、运维、安全、测试、交付、认证、评审、投标等)
  • javacv实时解析pcm音频流
  • Matlab|考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型
  • 【Python基础】装饰器(3848字)
  • 十、Redis内存回收策略和机制