1、Maven坐标
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
2、常用方法
简介:
org.apache.commons.io.FileUtils
General file manipulation utilities.
Facilities are provided in the following areas:
•writing to a file 写入文件
•reading from a file 从文件读取数据
•make a directory including parent directories 创建目录(全路径)
•copying files and directories 复制文件
•deleting files and directories 删除文件
•converting to and from a URL
•listing files and directories by filter and extension 获取目录下的所有文件
•comparing file content 比较文件内容
•file last changed date
•calculating a checksum
1)获取路径下的所有文件
Collection org.apache.commons.io.FileUtils.listFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)
- File 要搜索的路径directory
- fileFilter 文件的过滤条件,不能为空,可以利用TrueFileFilter.INSTANCE表示所有文件
- dirFilter optional filter to apply when finding subdirectories. If this parameter is null, subdirectories will not be included in the search. Use TrueFileFilter.INSTANCE to match all directories.
Collection<File> listFiles = FileUtils.listFiles(new File(FILE_PATH_SOURCE),
FileFilterUtils.suffixFileFilter(FILE_SUFFIX), TrueFileFilter.INSTANCE);
2)读取文件内容
String org.apache.commons.io.FileUtils.readFileToString(File file, String encoding) throws IOException
try {
String fileContent = FileUtils.readFileToString(new File(filePath), "UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
3)复制/移动文件
void org.apache.commons.io.FileUtils.copyFileToDirectory(File srcFile, File destDir) throws IOException
try {
FileUtils.copyFileToDirectory(new File(filePath),new File(FILE_PATH_BAK));
} catch (IOException e) {
e.printStackTrace();
}
在移动文件时,还有下面一个方法:
void org.apache.commons.io.FileUtils.moveFileToDirectory(File srcFile, File destDir, boolean createDestDir) throws IOException
但是容易出现FileExistsException等异常,因此建议利用copyFileToDirectory方法,然后删除源路径下的文件来实现文件移动。
4)删除文件
void org.apache.commons.io.FileUtils.forceDelete(File file) throws IOException
if(file.exists()) {
FileUtils.forceDelete(file);
}