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

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

image.png

@[toc]

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

二、代码

1.读取路径返回List\

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\

/**
     * 读取路径返回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(); // 删除文件
    }

image.png

重要信息

image.png

目录
相关文章
|
9月前
|
人工智能 监控 Java
Java与AI智能体:构建自主决策与工具调用的智能系统
随着AI智能体技术的快速发展,构建能够自主理解任务、制定计划并执行复杂操作的智能系统已成为新的技术前沿。本文深入探讨如何在Java生态中构建具备工具调用、记忆管理和自主决策能力的AI智能体系统。我们将完整展示从智能体架构设计、工具生态系统、记忆机制到多智能体协作的全流程,为Java开发者提供构建下一代自主智能系统的完整技术方案。
1114 4
|
10月前
|
人工智能 Java API
Java AI智能体实战:使用LangChain4j构建能使用工具的AI助手
随着AI技术的发展,AI智能体(Agent)能够通过使用工具来执行复杂任务,从而大幅扩展其能力边界。本文介绍如何在Java中使用LangChain4j框架构建一个能够使用外部工具的AI智能体。我们将通过一个具体示例——一个能获取天气信息和执行数学计算的AI助手,详细讲解如何定义工具、创建智能体并处理执行流程。本文包含完整的代码示例和架构说明,帮助Java开发者快速上手AI智能体的开发。
3529 8
|
10月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
3580 1
|
Java 数据安全/隐私保护
银行转账虚拟生成器app,银行卡转账截图制作软件,java实现截图生成工具【仅供装逼娱乐用途】
本项目提供了一套基于Java的图片处理教学方案,包含自定义图片生成、图像水印添加及合法电子凭证生成技术示例。
|
Java 数据安全/隐私保护 计算机视觉
银行转账虚拟生成器app,银行卡转账截图制作软件,java实现截图生成工具【仅供装逼娱乐用途】
本内容提供Java生成自定义图片的示例代码,涵盖基础图像创建、文本添加及保存功能,适合学习2D图形编程。包括教学示例图片生成、文本图层处理和数字水印技术实现方案。
|
9月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
9月前
|
弹性计算 运维 安全
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
在阿里云当下的活动中,38元/年的轻量应用服务器与99元/年的云服务器ECS成为众多新用户的关注焦点。但是有部分用户并不是很清楚二者之间的区别,因此就不知道应该如何选择。接下来,笔者将为您详细剖析ECS云服务器与轻量应用服务器的差异,以供您参考和选择。
873 4
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
|
9月前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。
|
9月前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。

热门文章

最新文章