java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法

news/2024/11/19 20:58:12/文章来源:https://www.cnblogs.com/bigcat26/p/18555568

@

目录
  • 一、记录文件相关操作方法
  • 二、代码
    • 1.读取路径返回List<File>
    • 2.读取路径返回List<String>
    • 3.删除文件夹
    • 4.删除文件

一、记录文件相关操作方法

二、代码

1.读取路径返回List<File>

import org.slf4j.LoggerFactory;
import org.slf4j.Logger;import java.io.File;
import java.util.ArrayList;
import java.util.List;
/*** 读取路径返回List<File>* @param directoryPath 路径* @return 结果*/public static List<File> listFilesReturnFileList(String directoryPath) {logger.info("-listFilesReturnFileList-directoryPath:{}", directoryPath);File directory = new File(directoryPath);List<File> fileList = new ArrayList<>();if (directory.exists() && directory.isDirectory()) {File[] files = directory.listFiles();if (files != null) {for (File file : files) {fileList.add(file);}}}return fileList;}

2.读取路径返回List<String>

/*** 读取路径返回List<String>* @param directoryPath 路径* @return 结果*/public static List<String> listFilesReturnFileNameList(String directoryPath) {logger.info("-listFilesReturnFileNameList-directoryPath:{}", directoryPath);File directory = new File(directoryPath);List<String> fileList = new ArrayList<>();if (directory.exists() && directory.isDirectory()) {File[] files = directory.listFiles();if (files != null) {for (File file : files) {fileList.add(file.getName());}}}return fileList;}

3.删除文件夹

 * 删除文件夹* @param directoryPath 路径* @return 结果*/public static boolean deleteDirectory(String directoryPath) {logger.info("-deleteDirectory-directoryPath:{}", directoryPath);File directory = new File(directoryPath);if (!directory.exists()) {logger.info("Folder does not exist");return true; // 文件夹不存在,无需删除}if (!directory.isDirectory()) {logger.info("Not a Directory");return false; // 不是一个有效的文件夹路径}// 递归删除文件夹及其内容return deleteDirectoryRecursive(directory);}/*** 递归删除文件夹及其内容* @param directory 要删除的文件夹* @return 结果*/private static boolean deleteDirectoryRecursive(File directory) {logger.info("-deleteDirectoryRecursive-directory:{}", directory.getName());File[] files = directory.listFiles();if (files != null) {for (File file : files) {if (file.isDirectory()) {deleteDirectoryRecursive(file); // 递归删除子文件夹} else {file.delete(); // 删除文件}}}return directory.delete(); // 删除空文件夹}

4.删除文件

/*** 删除文件* @param filePath 路径* @return 结果*/public static boolean deleteFile(String filePath) {logger.info("-deleteFile-filePath:{}", filePath);File file = new File(filePath);if (!file.exists()) {logger.info("Folder does not exist");return true; // 文件不存在,无需删除}if (!file.isFile()) {logger.info("Not a File");return false; // 不是一个有效的文件路径}return file.delete(); // 删除文件}

重要信息

  • 官网:https://ais.cn/u/vEbMBz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/836995.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些再也不敢了的行为

前言:考完 CSP-S 2024 才总结出来的各种离谱错误。本文不讨论类似于在有环图上跑拓扑排序这种错误,直接说会见祖宗的行为。进入考场前检查好准考证和身份证等必要物品,笔者因为这个原因 \(2024\) 年联合省选被困在了门外。由于不是正式选手,最终被放了进去。如果当前电脑运…

什么是水鱼?三分钟教会你

"水鱼"是广西人最喜欢玩的酒桌游戏,它属于扑克牌的一种玩法,经过不断改良升级而来。如果你在广西不会水鱼,那喝酒就没有了灵魂。虽然广西名族很多,水鱼玩法不一样,但是同一个框架,内容不同而已。比如有些地方黑桃花色最大,有些地方红桃花色最大,这种一般玩2,…

Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版

Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版 Oracle Linux with Unbreakable Enterprise Kernel (UEK) & Red Hat compatible kernel (RHCK) 请访问原文链接:https://sysin.org/blog/o…

List集合按照由小到大排序或者由大到小排序

@目录背景原代码由小到大排序由大到小排序 背景原List<User>里面是无序的,比如从redis查找等情况,查出来的是无序的,现在想按照由小到大排序或者由大到小排序。原代码 List<User> list = new ArrayList<>(); list.add(new User(3, "c", new Dat…

pta两次大作业

PTA 两次大作业总结:详细分析与实践经验 前言 回顾这次的家具强电电路模拟程序大作业,它无疑是一次极具挑战的编程与设计经历。从最初简单的电路组件模拟,到后期复杂的多设备连接和精准的控制反馈,这个过程不仅让我掌握了许多技术技能,还在思维方式、问题解决能力以及系统…

mac安装maven3.8.8

问题描述 down了一个新应用, maven依赖总是加载不到, 本地仓库也能找到, 项目启动报错 org.apache.skywalking:apm-toolkit-trace:pom:5.0.0-RC-SNAPSHOT failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repositor…

mac 安装maven

问题描述 down了一个新应用, maven依赖总是加载不到, 本地仓库也能找到, 项目启动报错 org.apache.skywalking:apm-toolkit-trace:pom:5.0.0-RC-SNAPSHOT failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repositor…

一个基于 .NET 8.0 构建的简单、跨平台、模块化商城系统

前言 今天给大家分享一个基于 .NET 8.0 构建的开源免费(MIT License)、简单、跨平台、模块化的商城系统:Module Shop。 主要功能销售:订单、物流。 内容:首页配置、评论、回复。 配置:国家、用户、仓库、运费、高级设置。 商品:分类、品牌、单位、选项(销售属性)、属性…

IDEA如何新增一个模块和删除一个模块

前言 大家好,我是小徐啊。今天小徐要给大家介绍下IDEA里面如何新增和删除模块。在开发过程中,我有时候会遇到多模块的项目,有时候自己也要增加相应的模块,用不同的模块去开发不同的功能。那么该如何操作呢? 如何新增模块 首先,在IDEA中,将鼠标放在项目的根目录上,然后右…

从汇编看函数调用传参过程

1 示例代码 #include <stdio.h>int func(int param1 ,int param2,int param3) {int var1 = param1;int var2 = param2;int var3 = param3;printf("var1=%d,var2=%d,var3=%d",var1,var2,var3);return var1; }int main(int argc, char* argv[]) {int result = fu…

IDEA如何导入外部依赖的jar包

前言 大家好,我是小徐啊。今天小徐要给大家介绍下,在使用IDEA开发java应用时,如何导入第三方的jar包,注意不是通过maven的方式导入。这种情况就是这个jar包比较特殊,可能并不存在于仓库中,需要手动引入。 如何导入jar包 首先,我们需要在资源目录下新建一个文件夹,我一般…

Cut the Sequence

Cut the Sequence P10977 Cut the Sequence 前言 单调队列优化 dp 的好题,思维难度大细节多。因为觉得自己看不懂其他题解,在看完 y 总的讲解后豁然开朗,所以写这篇题解来巩固一下。包括完整的细节分析和思考过程,或许很多大佬都不需要 qwq。叠甲完毕,下面开始正文。 分析…