当前位置: 首页 > 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;程序会自动关闭窗口。 使用方法 输入文件名和内容。 点击“生…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...