news 2026/11/5 2:45:22

java基础-IO流(Commons-io)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
java基础-IO流(Commons-io)

在日常开发过程中,大部分的时候,我们都不会自己写IO流,一来是太复杂,容易和核心的业务代码混淆,二来自己写的IO流往往效率低,存在问题,给后续项目二次开发带来很多不必要的麻烦。

Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。

作用:提供IO流的开发效率

使用Commons-io要先导包

右键添加为库

package Day12_IO; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.io.input.ReaderInputStream; import java.io.*; import java.util.List; public class IOTest04 { public static void main(String[] args) throws IOException { //使用Commons-io来操作IO //1、copyFile:复制文件 //E:\test\\test.txt复制生成E:\doc\doc.txt下面 // File srcFile = new File("E:\\test\\test.txt"); // File destFile = new File("E:\\doc\\doc.txt"); // FileUtils.copyFile(srcFile,destFile); //2、copyDirectory:复制文件夹 //E:\test\test1复制到E:\doc下,生成一个test2文件夹 //File srcDirectory = new File("E:\\test\\test1"); //File destDirectory = new File("E:\\doc\\test2"); //FileUtils.copyDirectory(srcDirectory,destDirectory); //copyDirectoryToDirectory和copyDirectory的区别在于,copyDirectoryToDirectory会把源文件的文件夹复制到目的地 //copyDirectory就只会把源文件的文件夹里面的内容复制到目的地 //3、copyDirectoryToDirectory // File srcDirectory = new File("E:\\test\\test1"); // File destDirectory = new File("E:\\doc"); // FileUtils.copyDirectoryToDirectory(srcDirectory,destDirectory); //4、deleteDirectory:删除文件夹,这个是目录都不会保留 //删除E:\doc\test1 //File file = new File("E:\\doc\\test1"); //FileUtils.deleteDirectory(file); //5、cleanDirectory:清空文件夹内的内容,这个目录会保留 // File file = new File("E:\\doc\\test1"); // FileUtils.cleanDirectory(file); //6、readFileToString // File file = new File("E:\\test\\test1\\test.txt"); // String s = FileUtils.readFileToString(file, "utf-8"); // System.out.println(s); //7、写出数据,默认不加true的时候是默认不续写的,加了true默认是续写 // File file = new File("E:\\test\\test1\\test.txt"); // String content = "Hello, World!\n这是使用FileUtils写入的文本。"; // FileUtils.write(file,content,"UTF-8",true); // System.out.println(FileUtils.readFileToString(file, "utf-8")); //IOUtils类 //1、copy:复制文件,要注意一下copy的参数类型 // FileInputStream fis = new FileInputStream("E:\\test\\test1\\test.txt"); // FileOutputStream fos = new FileOutputStream("E:\\doc\\test1\\doc.txt"); // IOUtils.copy(fis,fos); //2、copyLarge:复制大文件 // FileInputStream fis = new FileInputStream("E:\\test\\test1\\test.txt"); // FileOutputStream fos = new FileOutputStream("E:\\doc\\test1\\doc.txt"); // IOUtils.copyLarge(fis,fos); //3、readLines读取数据 // FileInputStream fis = new FileInputStream("E:\\test\\test1\\test.txt"); // for (String s : IOUtils.readLines(fis, "UTF-8")) { // System.out.println(s); // } //4、write,IOUtils本身是不支持续写的,如果要续写,就在基本流上设置true FileOutputStream fos = new FileOutputStream("E:\\doc\\test1\\doc.txt",true); String s="中国"; IOUtils.write(s, fos, "UTF-8"); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/4 4:53:01

FactoryBluePrints:戴森球计划工厂布局重构指南

FactoryBluePrints:戴森球计划工厂布局重构指南 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints 你是否正在为戴森球计划中的工厂设计而烦恼?精心规划…

作者头像 李华
网站建设 2026/11/4 4:53:08

graphql-request使用指南:快速掌握轻量级GraphQL客户端

graphql-request使用指南:快速掌握轻量级GraphQL客户端 【免费下载链接】graphql-request 项目地址: https://gitcode.com/gh_mirrors/gra/graphql-request graphql-request是一个专为TypeScript设计的轻量级GraphQL客户端库,它以极简的API设计为…

作者头像 李华
网站建设 2026/11/5 1:42:01

缓存革命:Ristretto如何用智能门禁系统重塑内存管理

缓存革命:Ristretto如何用智能门禁系统重塑内存管理 【免费下载链接】ristretto A high performance memory-bound Go cache 项目地址: https://gitcode.com/gh_mirrors/ri/ristretto 在现代高并发系统中,内存缓存性能优化、缓存命中率提升、内存…

作者头像 李华
网站建设 2026/11/4 4:53:12

SpinningMomo:重新定义游戏摄影的终极解决方案

SpinningMomo:重新定义游戏摄影的终极解决方案 【免费下载链接】SpinningMomo 一个为《无限暖暖》提升游戏摄影体验的窗口调整工具。 A window adjustment tool for Infinity Nikki that enhances in-game photography. 项目地址: https://gitcode.com/gh_mirrors…

作者头像 李华
网站建设 2026/11/5 5:56:59

零基础入门STLink驱动安装教程及固件升级方法

从零开始搞定ST-Link:驱动安装、固件升级与避坑实战指南 你有没有过这样的经历? 刚拿到一块STM32开发板,满心欢喜地插上电脑,打开IDE准备“Hello World”,结果设备管理器里却躺着一个带黄色感叹号的“未知USB设备”……

作者头像 李华
网站建设 2026/11/5 17:54:04

Qwen3-0.6B:轻量AI模型的智能双模式革命性突破

Qwen3-0.6B:轻量AI模型的智能双模式革命性突破 【免费下载链接】Qwen3-0.6B Qwen3 是 Qwen 系列中最新一代大型语言模型,提供全面的密集模型和混合专家 (MoE) 模型。Qwen3 基于丰富的训练经验,在推理、指令遵循、代理能力和多语言支持方面取得…

作者头像 李华