java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
1.java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现2.List集合按照由小到大排序或者由大到小排序
3.java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
4.数据库 校验名称唯一性,用于新增和修改功能5.https页面加载http资源的解决方法6.正则表达式如何匹配中文7.SpringBoot项目的html页面使用axios进行get post请求8.后端MultipartFile接收文件转Base649.SpringCloudGateway网关服务实现文件上传功能10.使用java在未知表字段情况下通过sql查询信息11.java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)12.java小工具util系列1:日期和字符串转换工具13.java小工具util系列2:字符串工具14.简单粗暴的正则表达式笔记15.jar包目录介绍16.java中面向过程和面向对象区别?17.jdk8新特性-详情查看文档18.你对Collection中Set、List、Map理解?19.java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)20.java中“==”和equals,究竟比的是什么21.java读取linux服务器下某文档的内容22.java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下@
一、记录文件相关操作方法
二、代码
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(); // 删除文件
}
重要信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程