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.xdnf.cn/news/9.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

CRON组件一个复杂的一个简单的

CRON组件一个复杂的一个简单的 一个是复杂点的一个是简单点。 1.以简单的为例使用&#xff1a; 父组件 import CronSimple from "/views/xxx/components/cron-simple/index.vue";components: {CronSimple}<el-dialog title"调度CRON"v-if"cronV…

Kubernetes容器日志处理方案

Kubernetes容器日志处理方案 50-Kubernetes容器日志处理方案 0 前言 k8s里面对容器日志的处理都叫cluster-level-logging&#xff0c;即该日志处理系统&#xff0c;与容器、Pod及Node的生命周期完全无关。这种设计当然为保证&#xff0c;无论容器挂、Pod被删&#xff0c;甚至节…

【青牛科技】GC4921替代BD6921/罗姆在水泵、筋膜枪、吸尘器和电动工具中的应用

在现代电动设备中&#xff0c;电机驱动控制器的选择对设备的性能和效率至关重要。GC4921作为一种新型的电机驱动控制器&#xff0c;逐渐被视为BD6921/罗姆的替代品。本文将对GC4921与BD6921进行对比&#xff0c;探讨其在水泵、筋膜枪、吸尘器和电动工具等设备中的应用优势。 1…

Android OpenGL ES详解——裁剪Scissor

目录 一、概念 二、如何使用 1、开启裁剪测试 2、关闭裁剪测试 3、指定裁剪窗口&#xff08;位置和大小&#xff09; 4、裁剪应用举例 三、窗口、视⼝和裁剪区域三者区别 四、源码下载 一、概念 定义1&#xff1a; 裁剪是OpenGL中提⾼渲染的⼀种方式&#xff0c;只刷新…