当前位置: 首页 > article >正文

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 提供了一系列实用工具类和扩展类,极大地简化了文件和流的操作。

主要工具类包括:

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

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 依赖。

<!-- 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) 方法实现将字符串写入到文件中。

/**
 * 写入文件
 */
@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) 方法实现读取文件内容,并将其作为一个字符串返回。

/**
 * 读取文件
 */
@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) 方法实现复制文件。

/**
 * 复制文件
 */
@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) 方法实现删除文件。

/**
 * 删除文件
 */
@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();
    }
}


http://www.kler.cn/a/376690.html

相关文章:

  • 太速科技-712-6U VPX飞腾处理器刀片计算机
  • YOLO——yolo v4(2)
  • 时光书屋--
  • Rust 力扣 - 2841. 几乎唯一子数组的最大和
  • 《GBDT 算法的原理推导》 11-12计算损失函数的负梯度 公式解析
  • D55【python 接口自动化学习】- python基础之模块与标准库
  • Git 使用指南:从基础到实战
  • 机器人领域中的scaling law:通过复现斯坦福机器人UMI——探讨数据规模化定律(含UMI的复现关键)
  • 【Seed-Labs】SQL Injection Attack Lab
  • 1231243545347ikih
  • nginx代理websocket服务
  • 基于单片机的单键智能密码锁设计
  • “七巨头”(The Magnificent 7)科技公司财报喜忧参半看AI
  • 长短期记忆网络(LSTM)如何在连续的时间步骤中处理信息
  • SQL中的IN语句和EXISTS语句
  • TSO(Timestamp Oracle,时间戳预言机)概念简述
  • 【Python · Pytorch】人工神经网络 ANN(上)
  • GA/T1400视图库平台EasyCVR视频分析设备平台微信H5小程序:智能视频监控的新篇章
  • R使用ggplot实现基础数据可视化
  • Python 标准库——argparse模块
  • 【设计模式】如何用C++实现依赖倒置
  • 人工智能技术:塑造未来生活与工作的变革力量
  • 【机器学习】K-means 聚类
  • C++——二叉树(进阶)
  • STM32(hal库)中,系统滴答时钟(Systick)频繁进入中断(默认1ms一次),是否会频繁进入中断,影响主程序的运行?
  • DICOM 基础知识:深入理解DICOM数据结构与标签说明