当前位置: 首页 > 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);}
}

相关文章:

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) 复…...

ROS中Twist消息类型

Twist消息类型在Robot Operating System (ROS)中是一个常见的数据结构&#xff0c;主要用于描述物体的线性速度和角速度。这种消息类型在ROS的geometry_msgs包中定义&#xff0c;常用于机器人运动控制&#xff0c;尤其是当需要向机器人发布速度指令时。 Twist消息由两个Vector…...

Pixi.js学习 (四)鼠标跟随、元素组合与图片位控

目录 一、鼠标移动跟随 1.1 获取鼠标坐标 1.2 鼠标跟随 二、锚点、元素组合 2.1 锚点 2.2 元素组合 三、图片图层 四、实战 例题一&#xff1a;完成合金弹头人物交互 例题二&#xff1a;反恐重击瞄准和弹痕 例题一代码&#xff1a; 例题二代码&#xff1a; 总结 前言 为了提高作…...

Golang | Leetcode Golang题解之第139题单词拆分

题目&#xff1a; 题解&#xff1a; func wordBreak(s string, wordDict []string) bool {wordDictSet : make(map[string]bool)for _, w : range wordDict {wordDictSet[w] true}dp : make([]bool, len(s) 1)dp[0] truefor i : 1; i < len(s); i {for j : 0; j < i;…...

简单聊一下Oracle,MySQL,postgresql三种锁表的机制,行锁和表锁

MySQL&#xff1a; MySQL使用行级锁定和表级锁定。行级锁定允许多个会话同时写入表&#xff0c;适用于多用户、高并发和OLTP应用。表级锁定只允许一个会话一次更新表&#xff0c;适用于只读、主要读取或单用户应用。 比如mysql开启一个窗口执行 begin; update xc_county_a…...

Python的网络请求

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在上一节中多次提到了URL地址与下载网页&#xff0c;这两项是网络爬虫必备而又关键的功能&#xff0c;说到这两个功能必然会提到HTTP。本节将介绍在P…...

[Shell编程学习路线]——探讨Shell中变量的作用范围(export)

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f6e0;️Shell编程专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年6月14日10点14分 &#x1f004;️文章质量&#xff1a;95分 文章目录 ————前言———— 定义变量&#xff1a; 输出变…...

AlertManager解析:构建高效告警系统

一、AlertManager简介 AlertManager是一个开源的告警管理工具&#xff0c;主要用于处理来自于监控系统&#xff08;如Prometheus&#xff09;的告警。它的设计目标是提供一个统一的告警处理平台&#xff0c;能够集中管理告警的路由、去重、分组和通知等操作。在现代云服务架构中…...

打造专属 Switch 模拟游戏机

文章目录 2种方案Switch版RetroArchLakka系统 整体性能对比&#xff1a;Lakka更优核心是否兼容&#xff1a;并不兼容整合2种方案&#xff1a;共享游戏ROM和配置、资源等文件夹临时修改Samba共享整个Lakka系统根目录 存储空间优化添加模拟器核心Switch版RetroArchLakka 添加游戏…...

如何使用Python中的type()函数和isinstance()函数

在Python中&#xff0c;type()函数和isinstance()函数都用于确定一个对象的类型&#xff0c;但它们在用法和目的上有所不同。 1. type()函数 type()函数返回对象的数据类型&#xff08;或类&#xff09;。它接受一个参数&#xff08;即要检查的对象&#xff09;&#xff0c;并…...

【LeetCode刷题】前缀和解决问题:560.和为k的子数组

【LeetCode刷题】Day 16 题目1&#xff1a;560.和为k的子数组思路分析&#xff1a;思路1&#xff1a;前缀和 哈希表 题目1&#xff1a;560.和为k的子数组 思路分析&#xff1a; 问题1&#xff1a;怎样找到数组所有子数组&#xff1f; 方式一&#xff1a;暴力枚举出来&#x…...

DTU在城市智慧供热上的应用:引领供热行业的智能化革新

随着城市化的快速推进和人们对舒适生活需求的日益增长&#xff0c;供热系统作为城市基础设施的重要组成部分&#xff0c;其智能化、高效化的发展已成为必然趋势。在这一进程中&#xff0c;DTU&#xff08;Data Transfer Unit&#xff0c;数据传输单元&#xff09;以其独特的优势…...

LeetCode | 58.最后一个单词的长度

这道题要求最后一个单词的长度&#xff0c;第一个想到的就是反向遍历字符串&#xff0c;寻找最后一个单词并计算其长度。由于尾部可能会有’ &#xff0c;所以我们从后往前遍历字符串&#xff0c;找到第一个非空格的字符&#xff0c;然后记录下到下一个空格前依次有多少个字母即…...

202479读书笔记|《你是人间的四月天》——谁又能参透这幻化的轮回, 谁又大胆的爱过这伟大的变幻?

202479读书笔记|《你是人间的四月天》——谁又能参透这幻化的轮回&#xff0c; 谁又大胆的爱过这伟大的变幻&#xff1f; 散文诗歌书信 《你是人间的四月天&#xff08;果麦经典&#xff09;》作者林徽因&#xff0c;才女的散文&#xff0c;诗歌&#xff0c;书信集选。很值得一…...

近期docker镜像加速器被封杀,需要的请看此内容 点赞加关注

{ “registry-mirrors”: [“https://docker.m.daocloud.io”], “insecure-registries”: [“harbor.sunya.com”], “exec-opts”: [“native.cgroupdriversystemd”], “data-root”: “/data/docker”, “log-driver”: “json-file”, “log-opts”: {“max-size”:“500m…...

开源大模型的新星:ChatGPT-Next-Web 项目解析与推荐

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

【区块链】记账的千年演化:从泥板到区块链

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 记账的千年演化&#xff1a;从泥板到区块链引言一、古代记账&#xff1a;泥板与…...

MySQL的索引类型,以及各自的作用

MySQL的索引类型&#xff0c;以及各自的作用 常见的索引类型 主键索引&#xff08;Primary Key Index&#xff09;&#xff1a; 唯一标识表中的记录&#xff0c;确保索引列的值在整个表中是唯一的主键索引通常是唯一索引的一种特例作用&#xff1a;加速查询&#xff0c;并自动…...

数组中的map方法

JavaScript中的map()方法详解 map()方法经常拿来遍历数组&#xff0c;但是不改变原数组&#xff0c;但是会返回一个新的数组&#xff0c;并且这个新的数组不会改变原数组的长度 注意&#xff1a;有时候会出现这种现象&#xff0c;出现几个undefined const array [1, 4,9, 16…...

使用Python生成并上传文档

这是一个简单的 Python 程序&#xff0c;用于生成文本文件并上传至 FTP 服务器&#xff1b; 通过输入文件名和内容&#xff0c;你可以将文档上传至指定的 FTP 服务器目录中&#xff1b; 在上传成功后&#xff0c;程序会自动关闭窗口。 使用方法 输入文件名和内容。 点击“生…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...