文件操作是每个项目中必备的一个模块,Hutool中的FileUtil类库封装了大多数文件操作,非常方便,今天给大家分享一下具体的使用示例。
1、pom.xml 导入依赖包
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.0</version>
</dependency>
2、新增测试类 src/main/java/FileTest.java
这里主要分享常见的集中文件操作,比如查看文件目录是否存在、获取文件列表、创建目录等操作,其余的还有复制文件、移动文件、修改文件名等操作,大家可以自行尝试。
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");
}
}