commons-io

概述

commons-io是apache开源基金组织提供的一组有关IO操作的类库,可以提高IO功能开发的效率。 commons-io工具包提供了很多有关io操作的类。有两个主要的类FileUtils, IOUtils。

FileUtils主要有如下方法:

使用commons-io简化io流读写

在项目中创建一个文件夹:lib。

将commons-io-2.6.jar文件复制到lib文件夹。

在jar文件上点右键,选择 Add as Library -> 点击OK。

在类中导包使用。

示例

/**
    目标:Commons-io包的使用介绍。

    什么是Commons-io包?
            commons-io是apache开源基金组织提供的一组有关IO操作的类库,
            可以挺提高IO功能开发的效率。commons-io工具包提供了很多有关io操作的类,

    见下表:
         | 包                                  | 功能描述                                     |
         | ----------------------------------- | :------------------------------------------- |
         | org.apache.commons.io               | 有关Streams、Readers、Writers、Files的工具类 |
         | org.apache.commons.io.input         | 输入流相关的实现类,包含Reader和InputStream  |
         | org.apache.commons.io.output        | 输出流相关的实现类,包含Writer和OutputStream |
         | org.apache.commons.io.serialization | 序列化相关的类

    步骤:
         1. 下载commons-io相关jar包;http://commons.apache.org/proper/commons-io/
         2. 把commons-io-2.6.jar包复制到指定的Module的lib目录中
         3. 将commons-io-2.6.jar加入到classpath中

    小结:
         IOUtils和FileUtils可以方便的复制文件和文件夹!!
 */
public class CommonsIODemo01 {
    public static void main(String[] args) throws Exception {

        // 1.完成文件复制!
//        IOUtils.copy(new FileInputStream("D:\\resources\\hushui.jpeg"),
//                new FileOutputStream("D:\\resources\\hushui2.jpeg"));


        // 2.完成文件复制到某个文件夹下!
//        FileUtils.copyFileToDirectory(new File("D:\\resources\\hushui.jpeg"), new File("D:/"));


          // 3.完成文件夹复制到某个文件夹下!
//          FileUtils.copyDirectoryToDirectory(new File("D:\\resources") , new File("D:\\new"));
//           FileUtils.deleteDirectory(new File("D:\\new"));

         // JDK1.7 自己也做了一些一行代码完成复制的操作:New IO的技术
         // Files.copy(Path.of("D:\\resources\\hushui.jpeg"), Path.of("D:\\resources\\hushui3.jpeg"));

        FileUtils.deleteDirectory(new File("D:\\new"));
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/127989.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

银河麒麟操作系统安装_V4/V10系统详细使用教程

银河麒麟桌面操作系统V10是一款简单易用、稳定高效、安全创新的新一代图形化桌面操作系统产品。现已适配国产主流软硬件产品,同源支持飞腾、鲲鹏、海思麒麟、龙芯、申威、海光、兆芯等国产CPU和Intel、AMD平台,通过功耗管理、内核锁及页拷贝、网络、VFS、…

筹码穿透率指标选股公式,衡量筹码抛压

在前面的文章中,介绍了博弈K线,它是根据筹码分布的原理结合普通K线的方法绘制出来的。当博弈K线的实体部分比较长的时候,说明当天穿越筹码密集区,有大量的筹码解套。通过引入换手率,可以衡量套牢盘的抛压程度。如果穿越…

Open3D 使用自定义多边形numpy数组边界裁剪点云( 附python 代码)多边形内部点

首先创建了一个包含多个多边形边界点的numpy 坐标数组。 然后,我们定义了一个多边形选择体积的顶点坐标数组 vertices,用于创建 SelectionPolygonVolume 对象 selection_volume。我们设置了 orthogonal_axis 为 "Z",表示选择体积的法向轴为 Z 轴;并设置了 bound…

科普测量开关电源输出波形的三种方法及电源波形自动化测试步骤

开关电源波形测试就是对开关电源的输出波形进行检测和分析,观察开关电源参数变化,以此来判断开关电源的性能是否符合要求。好的开关电源对于设备以及整个电路的正常运行是非常重要的,因此开关电源输出波形测试是开关电源测试的重要环节&#…

flink1.18.0 自适应调度器 资源弹性缩放 flink帮你决定并行度

jobmanager.scheduler Elastic Scaling | Apache Flink 配置文件修改并重启flink后,webui上会显示调整并行度的按钮,他可以自己调整,你也可以通过webUI手动调整: 点击 之后: 调整完成后:

win10 如何显示文件后缀名和隐藏文件

显示文件扩展名: 显示文件扩展名可以帮助你更容易地识别文件类型。默认情况下,Windows 10会隐藏文件的扩展名。 打开“文件资源管理器”(File Explorer)文件夹。或者你可以通过点击任务栏下方的文件夹图标或使用快捷键Win E来打…

【C++心愿便利店】No.12---C++之探索string底层实现

文章目录 前言一、写实拷贝(了解)二、string类常用接口实现2.1 成员变量2.2 默认构造函数2.3 拷贝构造函数2.4 operator2.5 operator[]2.6 c_str2.7 size()2.8 capacity() 三、迭代器的实现3.1 begin()和end()3.2 范围for 四、string类增删查改4.1 reser…

开发知识点-Mybatis

MybatisPlus [项目实战]Spring Boot 2.x 实现《百思不得姐》2-APP数据抓包3-基础环境搭建4-抓取原始数据5-json序列化与反序列化6-URL爬虫实现7-MyBatis保存原始数据8-数据建模19-配置优化与项目上线电商秒杀系统实战&&集成环境mybatis&springboot在 application.p…

关于有源电力滤波器在地铁站低压配电系统中的应用分析

安科瑞 崔丽洁 摘要:作为国家提出的绿色电网、节能降耗已成为现代化企业努力的目标,也是企业急需解决的问题。作为地铁车站这类市政公共交通建筑的着重系统——配电系统。实现绿色电网实质上是解决电网中存在的各种电能问题,主要是涉及到谐波…

【科研绘图】MacOS上的LaTeX公式插入工具——LaTeXiT

在Mac上经常用OmniGraffle绘图,但是有个致命缺点是没办法插入LaTeX公式,很头疼。之前有尝试用Pages文稿插入公式,但是调字体和颜色很麻烦。并且,PPT中的公式插入感觉也不太好看。 偶然机会了解到了LaTeXiT这个工具,可…

NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)

背景 windows11 node版本降低到v12.22.12后,执行:nvm -v npm -v npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果 包括路径,请确保路径正确,然后再试一次。 所在位置 …

XOR Construction

思路: 通过题目可以得出结论 b1^b2a1 b2^b3a2 ....... bn-1^bnan-1 所以就可以得出 (b1^b2)^(b2^b3)a1^a2 b1^b3a1^a2 有因为当确定一个数的时候就可以通过异或得到其他所有的数,且题目所求的是一个n-1的全排列 那么求出a的前缀异或和arr之后…

Zeitgeist ZTG Token以及其预测市场加入Moonbeam生态

波卡上的首选多链开发平台Moonbeam宣布与Zeitgeist达成XCM集成,将ZTG Token引入Moonbeam。此集成将使波卡内的Moonbeam和Zeitgeist网络之间的流动性得以流动,并通过Moonbeam的互连合约实现远程链集成。 Zeitgeist是一个基于波卡的Substrate区块链框架构…

使用微信小程序控制蓝牙小车(微信小程序端)

目录 使用接口界面效果界面设计界面逻辑设计 使用接口 微信小程序官方开发文档 接口说明wx.openBluetoothAdapter初始化蓝牙模块wx.closeBluetoothAdapter关闭蓝牙模块(调用该方法将断开所有已建立的连接并释放系统资源)wx.startBluetoothDevicesDiscovery开始搜寻附近的蓝牙…

【ATTCK】MITRE ATTCK 设计与哲学

MITRE ATT&CK™:设计与哲学 来源:MITRE ATT&CK™: Design and Philosophy 摘要 MITRE ATT&CK知识库描述了网络对手的行为,并为攻击和防御提供了一个通用的分类。它已成为跨许多网络安全领域的一个有用工具,用于传递威胁情报&…

纵行科技LPWAN2.0芯片产品ZT1826获“2023年度硬核芯”大奖

2023年10月30日,由深圳市芯师爷科技有限公司主办、慕尼黑华南电子展协办、深圳市半导体行业协会支持的“第五届硬核芯生态大会暨2023汽车芯片技术创新与应用论坛”在深圳国际会展中心1号馆圆满落幕。当晚,“2023年度硬核芯评选”获奖榜单同步揭晓并进行颁…

网络的相关概念介绍

客户端和服务器通常运行在不同的主机上,通过计算机网络的硬件和软件资源来通信。网络是个复杂的系统,这里我们从程序员的角度来介绍一下网络相关的概念。 对主机而言,网络只是一种I/O设备,是数据源和数据接收方。 一个插到I/O总线…

补偿 FIR 滤波器引入的延迟

补偿 FIR 滤波器引入的延迟 对信号进行滤波会引入延迟。这意味着相对于输入,输出信号在时间上有所偏移。此示例向您说明如何抵消这种影响。 有限冲激响应滤波器经常将所有频率分量延迟相同的时间量。这样,我们就很容易通过对信号进行时移处理来针对延迟…

降维·预测·救命:PCA、随机森林与乳腺癌

一、引言 乳腺癌作为女性健康领域的一大挑战,对全球范围内的女性健康产生了深远影响。据世界卫生组织(WHO)统计,乳腺癌已成为全球女性恶性肿瘤发病率的最高者,且呈现逐年上升的趋势。在中国,乳腺癌也是女性…

实用技巧:嵌入式人员使用http服务模拟工具模拟http服务器测试客户端get和post请求

文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/134305752 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…