Java实战:使用Hutool中的FileUtil操作文件笔记

❤️作者主页:IT技术分享社区
❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。
❤️荣誉: CSDN博客专家、数据库优质创作者 🏆,华为云享专家 🏆,阿里云专家博主 🏆
❤️个人博客:IT技术分享社区
❤️公众号/小程序:IT技术分享社区
❤️好文章点赞 👍 收藏 ⭐再看,养成习惯

文件操作是每个Java项目中必备的一个模块,一般我们的做法就是自己封装一个FileUtils的工具类,实现系统当中涉及文件上传、下载、预览等功能,其实我们可以实用Hutool类库当中封装的FileUtil类库,基本包含了大多数针对文件操作,使用也是非常方便,

今天就给大家分享一下具体的使用示例,希望对大家工作当中能有所帮助!

1、pom.xml 导入依赖包

首先需要导入Hutool依赖包,这里导入完整的类库包。

 <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.0</version>
</dependency>  

2、新增测试类 src/main/java/FileTest.java

然后新增测试类,这里主要分享日常工作常见的集中文件操作,比如查看文件目录是否存在、获取文件列表、创建目录等操作,其余的还有复制文件、移动文件、修改文件名等等操作,大家可以参考API自行尝试。

import cn.hutool.core.io.FileUtil;

import java.io.File;
import java.util.List;

/**
 * @author haogm
 * @ClassName FileTest
 * @description: TODO
 * @datetime 2023年 01月 28日 13:39
 * @version: 1.0
 */
public class FileTest {
    public static void main(String[] args) {
        createFileOrDir();
        getFileList();
        exist();

    }

    /**
     * 判断文件是否存在,参数可以是目录或者是文件路径 或者 文件
     */
    private static void exist() {
        // 文件路径
        boolean exist1 = FileUtil.exist("D:\\Test.xlsx");
        // 直接传递文件 作为参数
        boolean exist2 = FileUtil.exist(new File("D:\\Test.xlsx"));
        // 传递目录字符串作为参数
        boolean exist3 = FileUtil.exist("D:\\Test2");
        String msg = "文件路径参数:" + exist1 + ",文件参数:" + exist2 + ",目录参数:" + exist3;
        System.out.println(msg);

    }

    /**
     * 获取目录中的文件及目录列表
     */
    private static void getFileList() {
        File[] files = FileUtil.ls("D:\\Test");
        for (File file : files) {
            System.out.println(file.getAbsoluteFile());
        }
        // 判断当前路径是否是文件
        boolean isFile1 = FileUtil.isFile("D:\\Test");
        boolean isFile2 = FileUtil.isFile("D:\\Test.xlsx");
        // 判断当前路径是否是目录
        boolean isDir1 = FileUtil.isDirectory("D:\\Test");
        boolean isDir2 = FileUtil.isDirectory("D:\\Test.xlsx");
        // 判断是否空文件 输出结果为 false
        boolean empty = FileUtil.isEmpty(new File("D:\\Test.xlsx"));
        // 新建一个空文本 输出结果为 true
        boolean empty2 = FileUtil.isEmpty(new File(" D:\\Test\\111\\123.txt"));
        // 判断目录是否为空 输出结果为 false
        boolean dirEmpty = FileUtil.isDirEmpty(new File("D:\\Test"));
        // 创建一个空的目录 输出结果为 true
        boolean dirEmpty2 = FileUtil.isDirEmpty(new File("D:\\Test\\222"));

        System.out.println(empty + ":" + empty2 + ":" + dirEmpty + ":" + dirEmpty2);
        // 获取指定目录的文件名称列表
        List<String> fileNames = FileUtil.listFileNames("D:\\Test");
        System.out.println(fileNames.toString());
    }

    /**
     * 创建文件&目录
     */
    private static void createFileOrDir() {
        // 创建文件 如果存在则跳过
        FileUtil.touch(new File("D:\\touch\\1.doc"));
        // 创建目录 如果存在跳过
        FileUtil.mkdir("D:\\touch01");
    }

}

posted @ 2023-02-01 07:00  天使不哭  阅读(411)  评论(0编辑  收藏  举报  来源