当前位置: 首页 > news >正文

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);
}
}

http://www.jsqmd.com/news/253812/

相关文章:

  • MySQL性能优化:从底层原理到实战落地的全维度方案
  • 【课程设计/毕业设计】基于SpringBoot保护濒危野生动物公益救助交流平台基于SpringBoot濒危物种公益救助交流平台【附源码、数据库、万字文档】
  • JVM 里的逻辑漏洞,居然让你的哈希表慢了 20%!
  • 构建智能Agent的三大支柱:上下文工程、会话管理与记忆系统
  • 收藏备用!AI+多领域变革全解析:大模型如何重塑产业生态
  • 收藏备用|RAG技术架构三阶段演进全解析(从入门到进阶,小白也能懂)
  • 毕业论文通关秘籍:宏智树 AI 教你避开 80% 写作坑
  • AI 写论文哪个软件最好?实测封神!宏智树 AI 堪称毕业论文通关外挂
  • 写论文软件哪个好?实测宏智树 AI:毕业论文的全流程效率神器
  • 吐血推荐9个一键生成论文工具,本科生毕业论文轻松搞定!
  • 西门子SMART触摸屏与两台变频器的Modbus RTU通讯实战
  • 春节年货节营销冲刺!AI工具助力快速生成品牌VI全套设计
  • 低成本拿捏高级感|国潮礼盒 AI 渲染工具,年货节设计神器
  • Cesium中的CZML
  • Langchain如何和业务项目集成:LangChain 入门 (二)
  • COMSOL氩气等离子体显示板模型(PDP)探索
  • 潜航者指南:深入探索PyTorch核心API的七大维度
  • 收藏必备!LLM与LMM大模型全解析:从零到精通的学习指南
  • Cesium中的 Entity、Terrain、DataSource开发场景示例
  • MindSpore开发之路:MindSpore Lite实战:在端侧部署AI应用
  • 灵敏度随电池电量下降就会变得不灵敏, 有的时候电机或舵机不工作
  • Chroma向量数据库:超越`client = chromadb.Client()`的深度探索与生产实践
  • Cyber Triage 3.16 发布 - 通过 Cyber Triage Enterprise 更快开展调查
  • 导师严选2026 TOP8 AI论文写作软件:本科生毕业论文全攻略
  • Vue3 + Element Plus 表格复选框踩坑记录
  • 【收藏级干货】RAG技术深度解析:让大语言模型告别“闭卷考试“
  • 前后端分离靓车汽车销售网站系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • 信号不太好,有什么要优化的地方
  • 基于Simulink平台实现无人驾驶运动控制中的非线性模型预测控制算法
  • Elasticsearch Enterprise 8.19.10 发布 - 分布式搜索和分析引擎