news 2026/4/15 10:25:21

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/15 1:08:03

终极像素艺术生成指南:5分钟从零创作专业级像素画

终极像素艺术生成指南:5分钟从零创作专业级像素画 【免费下载链接】pixel-art-xl 项目地址: https://ai.gitcode.com/hf_mirrors/nerijs/pixel-art-xl 想要快速生成精美的像素艺术图像,却苦于没有专业设计技能?Pixel Art XL正是你梦寐…

作者头像 李华
网站建设 2026/4/2 18:28:35

ms-swift支持vLLM与SGLang推理加速,吞吐提升显著

ms-swift支持vLLM与SGLang推理加速,吞吐提升显著 在大模型应用从实验室走向生产环境的今天,一个核心问题日益凸显:如何让千亿参数的模型既能“跑得快”,又能“撑得住”?许多团队经历过这样的尴尬时刻——微调好的Qwen3…

作者头像 李华
网站建设 2026/4/9 2:13:19

梯度裁剪(Gradient Clipping)必要性分析:防止爆炸的有效手段

梯度裁剪(Gradient Clipping)必要性分析:防止爆炸的有效手段 在现代大模型训练中,你有没有遇到过这样的场景:模型刚开始训练,Loss 曲线突然冲上天,紧接着变成 NaN,整个训练任务宣告失…

作者头像 李华
网站建设 2026/4/1 23:42:29

AutoHotkey键盘响应性能调优深度指南

AutoHotkey键盘响应性能调优深度指南 【免费下载链接】AutoHotkey 项目地址: https://gitcode.com/gh_mirrors/autohotke/AutoHotkey AutoHotkey键盘响应性能调优是提升自动化脚本执行效率的核心技术。通过精准控制按键延迟参数和优化发送机制,可以显著减少…

作者头像 李华
网站建设 2026/4/10 16:14:59

数据驾驶舱交互技巧实战:从用户旅程到数据故事化的完整指南

数据驾驶舱交互技巧实战:从用户旅程到数据故事化的完整指南 【免费下载链接】dataease DataEase: 是一个开源的数据可视化分析工具,支持多种数据源以及丰富的图表类型。适合数据分析师和数据科学家快速创建数据可视化报表。 项目地址: https://gitcode…

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

Kubernetes部署模板:ms-swift在云原生环境中的编排方案

Kubernetes部署模板:ms-swift在云原生环境中的编排方案 在大模型技术加速落地的今天,企业面临的已不再是“有没有模型”的问题,而是“如何让模型快速、稳定、低成本地跑起来”。从训练到上线,中间横亘着工具链割裂、资源浪费、部署…

作者头像 李华