文件操作工具类FileUtils

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);
}

5)流式读取

InputStreamReader read = new InputStreamReader(FileUtils.openInputStream(file), "UTF-8");
BufferedReader reader = new BufferedReader(read);

//循环,每次读一行
while ((line = reader.readLine()) != null) {
	System.out.println(line);
}
reader.close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值