news 2026/4/3 6:05:47

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/3/31 17:33:31

终极开源录屏工具完整指南:从零基础到精通的高效使用技巧

终极开源录屏工具完整指南:从零基础到精通的高效使用技巧 【免费下载链接】Cap Effortless, instant screen sharing. Open-source and cross-platform. 项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap 还在为寻找简单易用又功能强大的录屏工具而烦…

作者头像 李华
网站建设 2026/3/26 19:21:50

Ueli:终极键盘启动器,让效率飞起来!

Ueli:终极键盘启动器,让效率飞起来! 【免费下载链接】ueli Keystroke launcher for Windows and macOS 项目地址: https://gitcode.com/gh_mirrors/ue/ueli 还在为频繁切换鼠标寻找应用而烦恼吗?Ueli这款终极键盘启动器将彻…

作者头像 李华
网站建设 2026/3/31 18:12:53

5分钟快速上手B站直播自动录播神器:从录制到投稿全流程详解

5分钟快速上手B站直播自动录播神器:从录制到投稿全流程详解 【免费下载链接】bilive 极快的B站直播录制、自动切片、自动渲染弹幕以及字幕并投稿至B站,兼容超低配置机器。 项目地址: https://gitcode.com/gh_mirrors/bi/bilive 还在为手动录制B站…

作者头像 李华
网站建设 2026/3/27 19:45:21

企业内部培训材料:构建专属大模型人才的知识体系

构建专属大模型人才的知识体系:以 ms-swift 为核心的工程实践 在生成式 AI 的浪潮中,企业早已不再纠结“要不要用大模型”,而是更关心“如何把大模型真正用好”。当技术从实验室走向产线,真正的挑战才刚刚开始——如何在有限算力…

作者头像 李华
网站建设 2026/4/1 21:28:08

微信AI助手完整部署教程:零基础5分钟打造智能聊天机器人

微信AI助手完整部署教程:零基础5分钟打造智能聊天机器人 【免费下载链接】wechat-bot 🤖一个基于 WeChaty 结合 DeepSeek / ChatGPT / Kimi / 讯飞等Ai服务实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者管理微信群/好友…

作者头像 李华
网站建设 2026/3/27 22:43:24

CubeMX安装+IDE联调配置:一文说清集成流程

从零开始搭建STM32开发环境:CubeMX安装与IDE联调实战指南 你是不是也经历过这样的场景?刚拿到一块STM32开发板,兴冲冲打开电脑准备写代码,结果卡在第一步—— 到底怎么配置时钟?引脚复用该怎么设置?生成的…

作者头像 李华