java 文件夹下所有文件快速拷贝到另外一个文件夹

在开发过程中,遇到需要拷贝文件夹的需求。网上大部分人的做法是遍历文件夹下每一个文件然后逐个拷贝。已验证效率比较地下。遂搜了一下是否有开源的项目已经实现了该功能。

apache基金会有一个开源jar包commons-io已经实现了该功能。

maven依赖

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>

可以在maven中央仓库(https://mvnrepository.com)中查找commons-io就能找到。

实现文件夹拷贝功能很简单:

org.apache.commons.io.FileUtils.copyDirectory(sourcePackageFile,destinationPackageFile);

可以实现原文件夹到目标文件夹的拷贝工作。

测试结果:

     1、文件夹拷贝300M左右可以在3到4秒之间完成(本机windows10,固态硬盘,8G内存)

     2、如果目标文件夹存在着和原文件夹同名的文件,则目标文件夹内容全部被覆盖

     3、如果目标文件夹中存在着原文件夹没有的文件,则目标文件夹会保留该文件(建议如果目标文件夹每次复制都要全部覆盖原来的操作)

例如:1文件夹下有a ,b 文件    2文件夹下有a文件,c文件

将1拷贝到2下。则2文件夹下有a,b,c三个文件。其中a文件发生了覆盖

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值