Java使用apache.commons.io框架下的FileUtils类实现文件的写入、读取、复制、删除

Apache Commons IO 是 Apache 开源基金组织提供的一组有关IO(Input/Output)操作的小框架,它是 Apache Commons 项目的一部分,专注于提供简单易用的 API,用于处理输入和输出操作。Apache Commons IO 是一个功能强大的 Java IO工具库,提供了丰富的 API 来简化文件和流的操作。通过使用 Commons IO 库,开发者可以更加简洁、高效地完成文件和流的相关任务。

Apache Commons IO 提供了一系列实用工具类和扩展类,极大地简化了文件和流的操作。

主要工具类包括:

工具类 说明
FileUtils FileUtils 是一个用于简化文件操作的工具类,提供了许多静态方法来处理文件和目录。
IOUtils IOUtils 提供了用于操作流和字节的工具方法,简化了流的读取、写入和关闭操作。
FilenameUtils FilenameUtils 提供了用于处理文件名和路径的工具方法。
FileFilterUtils FileFilterUtils 提供了用于文件过滤的工具方法,可以创建符合特定条件的文件过滤器。

FileUtils 工具类的常用方法:

方法 说明
copyFile(File srcFile, File destFile) 复制文件。
copyDirectory(File srcDir, File destDir) 复制目录及其内容。
delete(File file) 删除文件。
deleteDirectory(File directory) 删除目录及其所有内容。
readFileToString(File file, String encoding) 读取文件内容,并将其作为一个字符串返回。
writeStringToFile(File file, String data, String charsetName, boolean append) 将字符串写入到文件中。

添加 Maven 依赖

在项目的 pom.xml 配置文件中添加 Apache Commons IO 依赖。

XML 复制代码
<!-- Apache Commons IO 依赖 -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.17.0</version>
</dependency>

1、写入文件

使用 writeStringToFile(File file, String data, String charsetName, boolean append) 方法实现将字符串写入到文件中。

java 复制代码
/**
 * 写入文件
 */
@Test
public void writeFile()
{
    try
    {
        String content = "您好,欢迎访问 pan_junbiao的博客"; //文件内容
        String path = "src/main/resources/file/myBlog.txt"; //文件路径

        //写入文件
        FileUtils.writeStringToFile(new File(path), content, StandardCharsets.UTF_8);
        System.out.println("成功写入文件");
    } catch (Exception ex)
    {
        ex.printStackTrace();
    }
}

2、读取文件

使用 readFileToString(File file, String encoding) 方法实现读取文件内容,并将其作为一个字符串返回。

java 复制代码
/**
 * 读取文件
 */
@Test
public void readFile()
{
    try
    {
        String path = "src/main/resources/file/myBlog.txt"; //文件路径

        //读取文件
        String content = FileUtils.readFileToString(new File(path), StandardCharsets.UTF_8);
        System.out.println(content);
    } catch (Exception ex)
    {
        ex.printStackTrace();
    }
}

执行结果:

3、复制文件

使用 copyFile(File srcFile, File destFile) 方法实现复制文件。

java 复制代码
/**
 * 复制文件
 */
@Test
public void copyFile()
{
    try
    {
        String srcPath = "src/main/resources/file/myBlog.txt";   //文件路径
        String destPath = "src/main/resources/file/myBlog2.txt"; //复制到文件路径

        //复制文件
        FileUtils.copyFile(new File(srcPath), new File(destPath));
        System.out.println("成功复制文件");
    } catch (Exception ex)
    {
        ex.printStackTrace();
    }
}

4、删除文件

使用 delete(File file) 方法实现删除文件。

java 复制代码
/**
 * 删除文件
 */
@Test
public void deleteFile()
{
    try
    {
        String destPath = "src/main/resources/file/myBlog2.txt"; //文件路径

        //删除文件
        FileUtils.delete(new File(destPath));
        System.out.println("成功删除文件");
    } catch (Exception ex)
    {
        ex.printStackTrace();
    }
}
相关推荐
wy3136228211 分钟前
Git——ignore让项目的 target 目录真正被忽略(忽略其他文件也是同样的道理)
开发语言·git
格林威1 分钟前
C#图像分块处理:图像按行或按块(Tile)切分,多个 CPU 核心同时处理不同的区域
开发语言·图像处理·人工智能·机器学习·计算机视觉·c#·工业相机
leisoo80979 分钟前
财报舞弊预警系统实战用Python挖掘应收存货异常因子 IG50免费开源股票数据API接口
开发语言·python
Query*9 分钟前
Agent 开发之项目 AI Native 化:通过大模型与 RAG 赋予产品智能能力
java·人工智能·ai
孫治AllenSun9 分钟前
【LangChain4J-03】Springboot 项目搭建框架
java·spring boot·后端
君顾110 分钟前
AI新零售线上商城系统实战:架构设计与开发全流程指南
java·开发语言·零售
wind1003216 分钟前
Outdated Visual C++ Redistributable 过时 VC++ 运行库报错修复
开发语言·c++
吾皇斯巴达22 分钟前
O_DIRECT与gcsfuse的go程序中实现内存页面对齐
开发语言·后端·golang
qq_4850152132 分钟前
MyBatis-Plus 3.x FieldStrategy 作用
java·数据库·mybatis
lhldsg34 分钟前
课程排课系统实战指南:从数据库设计到算法调优全流程解析
java·数据库·算法·小程序