Commons-io工具包与Hutool工具包

news2025/3/1 14:02:01

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.coloradmin.cn/o/1823115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你的职业规划就是面向贫穷的规划

如果你觉得作者的文章还有点用,请记得点赞 + 关注 说一个扎心的事实,就是我们绝大多数人的职业规划基本上都是错误的,都是面向贫穷的规划。 因为绝大多数人的职业规划都是打工人的职业规划,这种规划除了很少部分人最终能成为企业高管,实现层级跃迁外,绝大多数人在大多数…

递归解析 LXML 树并避免重复进入某个节点

1、问题背景 我们在使用 LXML 库解析 MathML 表达式时&#xff0c;可能会遇到这样一个问题&#xff1a;在递归解析过程中&#xff0c;我们可能会重复进入同一个节点&#xff0c;导致解析结果不正确。例如&#xff0c;我们希望将以下 MathML 表达式解析为 Python 表达式&#x…

DJ-122A电压继电器 柜内安装 电磁式继电器 约瑟JOSEF

系列型号&#xff1a; DJ-100A/Q系列电压继电器 DJ-111A/Q电压继电器; DJ-112A/Q电压继电器; DJ-121A/Q电压继电器; DJ-122A/Q电压继电器; DJ-131A/Q电压继电器; DJ-132A/Q电压继电器; DJ-131A/Q160CN电压继电器; DJ-131A/Q160C电压继电器; ​ 概述 DJ-100A/Q系列电…

linux安装dgl

1.DGL官网、选择与自己cuda、python版本匹配的dgl的whl文件CUDA11.8、python10并下载 2.用pip install运行 pip install /home/u2023170749/download/dgl-2.2.0cu118-cp310-cp310-manylinux1_x86_64.whl

RocketMQ在Centos7系统上单机部署

最近因为一些信创问题&#xff0c;要将RabbitMQ替换为RocketMQ&#xff0c;因此在此分享一些RocketMQ在Centos7系统上单机部署相关过程。 优缺点 RocketMQ的优点&#xff1a; 性能优越&#xff1a;RocketMQ在处理大量消息时&#xff0c;性能优于RabbitMQ。当面临每秒数万到数…

【云岚到家】-day04-2-索引同步-搜索接口

【云岚到家】-day04-2-索引同步-搜索接口 1 索引同步1.1 编写同步程序1.1.1 创建索引结构1.1.2 编写同步程序1.1.2.1 添加依赖1.1.2.2 配置连接ES1.1.2.3 编写同步程序 1.1.3 测试1.1.4 小结1.1.4.1 如何保证CanalMQ同步消息的顺序性&#xff1f;1.1.4.2 如何保证只有一个消费者…

抖店一件代发设置自动发货

工具&#xff1a;逸淘 山东逸淘软件-www.1tsoft.com-一键下单&#xff01; step1 下载插件 下载对应浏览器的插件 step2 插件安装 谷歌浏览器--右上角...--设置--扩展程序 把下载的插件从文件夹拖过来 备注&#xff1a;显示 错误 不影响使用 在浏览器网址右边--把插件固定…

香港优才自测140分,带36万+申请香港优才身份被拒了

最近又有一个朋友跟我诉说&#xff0c;一家人申请优才&#xff0c;带几十万yi民香港&#xff0c;还被拒了&#xff0c;真的好气&#xff01; 费心费力等一年以上才收到拒批通知了&#xff0c;被拒的朋友有因为资料准备不足的&#xff0c;有因为错误自测分数给入境处过高期望的&…

【数据结构初阶】--- 栈和队列

栈 栈的定义 栈&#xff1a;只允许在一端进行插入或删除的操作 事实上&#xff0c;线性表和链表都可以实现栈&#xff0c;但栈的特点更符合用顺序表实现 顺序表的队尾相当于栈顶&#xff0c;对栈放入数据&#xff0c;相当于顺序表的下标arr[index] x&#xff0c;而栈弹出数…

老爷机带不动影视后期?云桌面了解一下

从黑白到彩色&#xff0c;从默片到有声&#xff0c;从2D到3D&#xff0c;影视工业经过百余年的演变&#xff0c;每一步技术的提升都试图让影视艺术更接近“真实”。电影特效技术的诞生&#xff0c;更是为影视作品的真实感实现了一次巨大的飞跃。 但有一部分影视人&#xff0c;…

毕业年薪30W起!25届最近5年浙江大学自动化考研院校分析

浙江大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、历年真题PDF 七、初试大纲复试大纲 八、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试科目…

流程与IT双驱动:锐捷网络如何构建持续领先的服务竞争力?

AI大模型及相关应用进入“竞赛时代”&#xff0c;算力作为关键要素备受关注&#xff0c;由于算力行业对网络设备和性能有较大需求&#xff0c;其发展也在推动ICT解决方案提供商加速升级&#xff0c;提升服务响应速度和服务质量。 锐捷网络是行业领先的ICT基础设施及行业解决方…

黄河流域web

1、UNSER的 <?php highlight_file(__FILE__); class Wel {public $fast;public $star;public function __construct(){$this->fast "free_toto";echo "what?";}public function __destruct(){$content $this->star;printf ($content);}pu…

Prometheus写入influxDB:中间件remote_storage_adapter

Prometheus写入influxDB&#xff1a;中间件remote_storage_adapter prometheus默认采用的是本地磁盘做数据存储&#xff0c;本地存储的优势就是运维简单但是缺点就是无法海量的metrics持久化和数据存在丢失的风险,数据写入可能造成wal文件损坏导致采集数据无法再写入的问题。 …

5.4.Python 装饰器与语法糖

1. 装饰器 1.1 装饰器简介 装饰器的作用: 对函数进行装饰, 添加新的功能. 装饰器的原则: 开发封闭原则, 对扩展开放, 对修改封闭. 封闭: 已现实的功能代码块不应该被修改. 开放: 对现有功能的拓展开放. 在不改变被装饰对象内部代码以及调用方式的基础上为函数添加新的功能.1.…

Java课程设计:基于swing的学生信息管理系统

文章目录 一、项目介绍二、项目展示三、源码展示四、源码获取 一、项目介绍 这款Java swing实现的学生信息管理系统和jsp版本的功能很相似&#xff0c;简单的实现了班级信息的增删改查&#xff0c;学生信息的增删改查&#xff0c;数据库采用的是mysql&#xff0c;jdk版本不限&…

fuel无人机自主探索代码解读3——fast_exploration_fsm.cpp【状态机】

一、概述 fast_exploration_fsm.cpp订阅实时定位和目标点信息&#xff0c;每隔0.01s执行一次状态机&#xff0c;进行状态切换&#xff1b;每隔0.05s执行一次碰撞检测&#xff0c;按需进行重新规划&#xff1b;每0.5s执行一次边界回调定时器&#xff0c;对于处于WAIT_TRIGGER和…

nacos注册中心配置中心

文章目录 1.Nacos安装与简单使用1.1. Nacos安装指南Windows安装下载安装包解压端口配置启动访问 Linux安装安装JDK上传安装包解压端口配置启动 1.2.服务注册到nacos使用步骤引入依赖配置nacos地址重启 示例父工程pom.xmluser-servicepom.xmlapplication.ymlUserApplicationUser…

杨校老师项目之基于SpringBoot的理发店的预约管理系统

原系统是SSMJSP页面构成&#xff0c;先被修改为SpringBoot JSP页面 自助下载渠道: https://download.csdn.net/download/kese7952/89417001&#xff0c;或 点我下载 理发师信息&#xff1a; 理发师详细信息 公告信息 员工登录&#xff1a; 管理员登录

Python的网络请求

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