news 2026/4/23 9:24:57

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/4/23 9:18:30

5分钟实现B站直播全自动录播:智能工具帮你轻松管理直播内容

5分钟实现B站直播全自动录播:智能工具帮你轻松管理直播内容 【免费下载链接】bilive 极快的B站直播录制、自动切片、自动渲染弹幕以及字幕并投稿至B站,兼容超低配置机器。 项目地址: https://gitcode.com/gh_mirrors/bi/bilive 还在为手动录制B站…

作者头像 李华
网站建设 2026/4/23 13:30:01

Ristretto缓存智能准入决策终极指南:从理论到实战的深度探索

Ristretto缓存智能准入决策终极指南:从理论到实战的深度探索 【免费下载链接】ristretto A high performance memory-bound Go cache 项目地址: https://gitcode.com/gh_mirrors/ri/ristretto 引言:为什么传统缓存策略在真实世界中频频失效&#…

作者头像 李华
网站建设 2026/4/23 10:50:03

浏览器桌面革命:daedalOS完整使用指南与功能解析

浏览器桌面革命:daedalOS完整使用指南与功能解析 【免费下载链接】daedalOS Desktop environment in the browser 项目地址: https://gitcode.com/gh_mirrors/da/daedalOS 在当今数字化时代,你是否曾幻想过在浏览器中拥有一个完整的桌面环境&…

作者头像 李华
网站建设 2026/4/23 10:47:47

超实用!Vue.js百度地图组件开发全攻略

超实用!Vue.js百度地图组件开发全攻略 【免费下载链接】vue-baidu-map Baidu Map components for Vue 2.x 项目地址: https://gitcode.com/gh_mirrors/vu/vue-baidu-map 核心关键词: Vue.js百度地图组件、地图组件开发 长尾关键词: Vu…

作者头像 李华
网站建设 2026/4/23 10:50:19

官网-失业保险金申领发放办法

官网:失业保险金申领发放办法_中华人民共和国人力资源和社会保障部 第一章 总则 第一条 为保证失业人员及时获得失业保险金及其他失业保险待遇,根据《失业保险条例》(以下简称《条例》),制定本办法。 第二条 参加失业保险的城镇企业事业单位职工以及按照省级人民政府规…

作者头像 李华
网站建设 2026/4/23 10:47:33

催化机器学习革命:OC20/OC22/OC25数据集深度解析与智能选择策略

催化机器学习革命:OC20/OC22/OC25数据集深度解析与智能选择策略 【免费下载链接】ocp Open Catalyst Projects library of machine learning methods for catalysis 项目地址: https://gitcode.com/GitHub_Trending/oc/ocp 催化剂机器学习研究正迎来前所未有…

作者头像 李华