news 2026/9/23 9:21:31

Commons-io工具包与Hutool工具包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Commons-io工具包与Hutool工具包

Commons-io

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

作用:提高I0流的开发效率。

FileUtils类(文件/文件夹相关)
static void copyFile(File srcFile,File destFile) 复制文件
static void copyDirectory(File srcDir,File destDir) 复制文件夹
static void copyDirectoryToDirectory(File srcDir, File destDir) 复制文件夹
static void deleteDirectory(File directory) 删除文件夹
static void cleanDirectory(File directory) 清空文件夹
static String readFileToString(File file, Charset encoding) 读取文件中的数据变成成字符串
static void write(File file, CharSequence data, String encoding) 写出数据

I0Utils类(流相关相关)
public static int copy(InputStream input, OutputStream output) 复制文件
public static int copyLarge(Reader input, Writer output) 复制大文件
public static String readLines(Reader input) 读取数据
public static void write(String data, OutputStream output) 写出数据

static void copyFile(File srcFile,File destFile) 复制文件

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("..\\Myio\\a.txt");
File dest=new File("..\\Myio\\copy.txt");
FileUtils.copyFile(src,dest);
}
}

static void copyDirectory(File srcDir,File destDir) 复制文件夹

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("E:\\111");
File dest=new File("E:\\222");
FileUtils.copyDirectory(src,dest);
}
}

static void copyDirectoryToDirectory(File srcDir, File destDir) 复制文件夹

这与上面的那个有什么区别呢?

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("E:\\111");
File dest=new File("E:\\222");
FileUtils.copyToDirectory(src,dest);
}
}

直接将数据源的拷贝进了目的地文件夹的里面

static void deleteDirectory(File directory) 删除文件夹

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("E:\\222");
FileUtils.deleteDirectory(src);
}
}

直接将文件删除

static void cleanDirectory(File directory) 清空文件夹

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("E:\\111");
FileUtils.cleanDirectory(src);
}
}

这是将文件夹中的内容清空

Hutool

相关类
IoUtil 流操作工具类
FileUtil 文件读写和操作的工具类
FileTypeUtil 文件类型判断工具类
WatchMonitor 目录、文件监听
ClassPathResource 针对ClassPath中资源的访问封装
FileReader 封装文件读取
Filewriter 封装文件写入

FileUtil 文件读写和操作的工具类

file:根据参数创建一个file对象
touch:根据参数创建文件
writeLines:把集合中的数据写出到文件中,覆盖模式。
appendLines:把集合中的数据写出到文件中,续写模式
readLines:指定字符编码,把文件中的数据,读到集合中。
readUtf8Lines:按照UTF-8的形式,把文件中的数据,读到集合中
copy:拷贝文件或者文件夹

file:根据参数创建一个file对象

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
public class HutoolDemo1 {
public static void main(String[] args) {
File file = FileUtil.file("E:\\", "aaa", "bbb", "a.txt");
System.out.println(file);
}
}

touch:根据参数创建文件

如果没有父级路径,他会帮你把父级路径一起创建

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
public class HutoolDemo1 {
public static void main(String[] args) {
File file = FileUtil.file("E:\\", "aaa", "bbb", "a.txt");
System.out.println(file);
File touch = FileUtil.touch(file);
System.out.println(touch);
}
}

writeLines:把集合中的数据写出到文件中,覆盖盖式。

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
import java.util.ArrayList;
public class HutoolDemo1 {
public static void main(String[] args) {
ArrayList<String>list=new ArrayList<>();
list.add("aaa");
list.add("aaa");
list.add("aaa");
File file = FileUtil.writeLines(list, "E:\\a.txt","UTF-8");
System.out.println(file);
}
}

追加模式默认是关闭的

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
import java.util.ArrayList;
public class HutoolDemo1 {
public static void main(String[] args) {
ArrayList<String>list=new ArrayList<>();
list.add("aaa");
list.add("aaa");
list.add("aaa");
File file = FileUtil.writeLines(list, "E:\\a.txt","UTF-8", true);
System.out.println(file);
}
}

appendLines:把集合中的数据写出到文件中,续写式

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
import java.util.ArrayList;
public class HutoolDemo1 {
public static void main(String[] args) {
ArrayList<String>list = new ArrayList<>();
list.add("aaa");
list.add("aaa");
list.add("aaa");
File file = FileUtil.appendLines(list,"E:\\a.txt","UTF-8");
System.out.println(file);
}
}

readLines:指定字符编码,把文件中的数据,读到集合中。

package hutool;
import cn.hutool.core.io.FileUtil;
import java.util.List;
public class HutoolDemo1 {
public static void main(String[] args) {
List<String> strings = FileUtil.readLines("E:\\a.txt", "UTF-8");
System.out.println(strings);
}
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 7:44:30

吐血推荐9个一键生成论文工具,本科生毕业论文轻松搞定!

吐血推荐9个一键生成论文工具&#xff0c;本科生毕业论文轻松搞定&#xff01; 论文写作的救星&#xff1a;AI 工具如何改变你的学术之路 随着人工智能技术的不断进步&#xff0c;越来越多的 AI 工具开始走进高校课堂&#xff0c;为本科生的论文写作带来前所未有的便利。无论是…

作者头像 李华
网站建设 2026/9/21 17:02:31

一文搞懂大模型预训练

一、预训练的核心定义&#xff1a;大模型的“无师自通” 首先要明确&#xff0c;大模型预训练不是传统的“监督学习”——不需要人工标注海量的“输入-输出”对&#xff0c;而是一种自监督学习过程。 简单来说&#xff0c;预训练就是让模型在海量的未标注文本数据里“自学”&am…

作者头像 李华
网站建设 2026/9/21 22:49:34

深度测评9个AI论文工具,自考本科毕业论文轻松搞定!

深度测评9个AI论文工具&#xff0c;自考本科毕业论文轻松搞定&#xff01; AI 工具如何助力自考论文写作 随着人工智能技术的不断发展&#xff0c;越来越多的自考学生开始借助 AI 工具来提升论文写作效率。尤其是在面对繁重的学术任务时&#xff0c;AI 工具不仅能有效降低 AIGC…

作者头像 李华
网站建设 2026/9/16 22:57:18

AI营销服务商榜单:原圈科技如何引爆2026车企增长?

原圈科技在AI营销领域被普遍视为值得关注的全周期解决方案提供商。面对车企从创意、投放到转化的系统性效率难题,其通过整合"智能体矩阵"与公私域数据的能力,在打通营销全链路上表现突出,旨在为企业构建可进化的营销智能体,实现增长。决胜2026&#xff1a;5家AI营销服…

作者头像 李华
网站建设 2026/9/22 13:58:27

中国人民大学打造AI创意写作新帮手:让机器既聪明又有想象力

创意写作一直是人类独有的艺术天赋&#xff0c;但随着人工智能的快速发展&#xff0c;机器是否也能拥有创造力成为了一个引人深思的话题。最近&#xff0c;中国人民大学联合快手科技的研究团队发表了一项突破性研究&#xff0c;他们开发出了一个名为DPWriter的AI写作系统&#…

作者头像 李华
网站建设 2026/9/21 9:43:57

游戏外包开发的上线

对于游戏外包开发&#xff0c;“上线”不仅是一个简单的发布动作&#xff0c;它是从开发交付到市场运营的关键转折点。在2026年的市场与技术环境下&#xff0c;游戏外包上线通常涉及以下五个关键阶段&#xff1a;1. 验收与质量交付在正式上线前&#xff0c;你需要确保外包团队交…

作者头像 李华