文件操作是每個項目中必備的一個模塊,Hutool中的FileUtil類庫封裝了大多數(shù)文件操作,非常方便,今天給大家分享一下具體的使用示例。
1、pom.xml 導入依賴包
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.0</version>
</dependency>
2、新增測試類 src/main/java/FileTest.java
這里主要分享常見的集中文件操作,比如查看文件目錄是否存在、獲取文件列表、創(chuàng)建目錄等操作,其余的還有復制文件、移動文件、修改文件名等操作,大家可以自行嘗試。
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();
}
/**
* 判斷文件是否存在,參數(shù)可以是目錄或者是文件路徑 或者 文件
*/
private static void exist() {
// 文件路徑
boolean exist1 = FileUtil.exist("D:\\Test.xlsx");
// 直接傳遞文件 作為參數(shù)
boolean exist2 = FileUtil.exist(new File("D:\\Test.xlsx"));
// 傳遞目錄字符串作為參數(shù)
boolean exist3 = FileUtil.exist("D:\\Test2");
String msg = "文件路徑參數(shù):" + exist1 + ",文件參數(shù):" + exist2 + ",目錄參數(shù):" + 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");
// 判斷是否空文件 輸出結(jié)果為 false
boolean empty = FileUtil.isEmpty(new File("D:\\Test.xlsx"));
// 新建一個空文本 輸出結(jié)果為 true
boolean empty2 = FileUtil.isEmpty(new File(" D:\\Test\\111\\123.txt"));
// 判斷目錄是否為空 輸出結(jié)果為 false
boolean dirEmpty = FileUtil.isDirEmpty(new File("D:\\Test"));
// 創(chuàng)建一個空的目錄 輸出結(jié)果為 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());
}
/**
* 創(chuàng)建文件&目錄
*/
private static void createFileOrDir() {
// 創(chuàng)建文件 如果存在則跳過
FileUtil.touch(new File("D:\\touch\\1.doc"));
// 創(chuàng)建目錄 如果存在跳過
FileUtil.mkdir("D:\\touch01");
}
}