news 2026/4/23 10:13:56

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/4/17 21:47:38

Cesium中的CZML

&#x1f4dc; Cesium中的CZML&#xff1a;动态时空场景描述语言 一、核心定义 CZML&#xff08;Cesium Language&#xff09;是Cesium官方推出的JSON格式动态场景描述语言&#xff0c;专门用于定义随时间变化的三维地理空间数据与可视化效果。它通过结构化的JSON语法&#x…

作者头像 李华
网站建设 2026/4/17 20:06:38

西门子SMART触摸屏与两台变频器的Modbus RTU通讯实战

西门子SMART触摸屏与2台变频器通讯&#xff0c;通过modbus rtu与三菱FR-D700、台达MS300变频器通讯&#xff0c;实现正反转控制、频率设定&#xff0c;读取输出频率、输出电压、输出电流&#xff0c;有详细的程序说明和源程序文件&#xff0c;文档使用云笔记整理撰写最近在项目…

作者头像 李华
网站建设 2026/4/18 13:34:07

Vue3 + Element Plus 表格复选框踩坑记录

在开发能耗对比功能时,遇到了几个 Element Plus 表格复选框的典型问题。本文记录了问题现象、排查思路和解决方案,希望能帮助到遇到类似问题的开发者。 &#x1f4cb; 问题背景 在使用 Element Plus 的 el-table 组件实现多选功能时,遇到了以下几个问题: ❌ 点击单个复选框后…

作者头像 李华
网站建设 2026/4/18 10:12:06

迈向可持续、智慧与融合:中国城市轨道交通未来发展路径研究

目录 1. 引言&#xff1a;转型期的机遇与挑战 2. 核心驱动力一&#xff1a;人工智能赋能&#xff0c;迈向深度智能化 3. 核心驱动力二&#xff1a;全生命周期绿色低碳转型 4. 核心驱动力三&#xff1a;融合创新与可持续发展 5. 基石与保障&#xff1a;安全韧性与新质生产力…

作者头像 李华