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

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

1.jpg

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

二、代码

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(); // 删除文件
    }
目录
相关文章
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
476 1
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
2047 1
|
监控 Java API
Java语言按文件创建日期排序及获取最新文件的技术
这段代码实现了文件创建时间的读取、文件列表的获取与排序以及获取最新文件的需求。它具备良好的效率和可读性,对于绝大多数处理文件属性相关的需求来说足够健壮。在实际应用中,根据具体情况,可能还需要进一步处理如访问权限不足、文件系统不支持某些属性等边界情况。
649 14
|
存储 Java 编译器
深入理解Java虚拟机--类文件结构
本内容介绍了Java虚拟机与Class文件的关系及其内部结构。Class文件是一种与语言无关的二进制格式,包含JVM指令集、符号表等信息。无论使用何种语言,只要能生成符合规范的Class文件,即可在JVM上运行。文章详细解析了Class文件的组成,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表等,并说明其在Java编译与运行过程中的作用。
459 0
|
存储 人工智能 Java
java之通过Http下载文件
本文介绍了使用Java实现通过文件链接下载文件到本地的方法,主要涉及URL、HttpURLConnection及输入输出流的操作。
931 0
|
Java
JAVA方法的定义
JAVA方法的定义
400 0
|
存储 JSON Java
《从头开始学java,一天一个知识点》之:方法定义与参数传递机制
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 🚀 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。上篇:《输入与输出:Scanner与System类》 | 下篇剧透:《方法重载与可变参数》。
499 25
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
324 1
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
412 1
|
存储 Java
Java中带返回值方法的定义与调用技术
Java中带返回值方法的定义与调用技术
483 1

热门文章

最新文章