JAVA快速批量删除文件

在运用SAS的SPD的引擎的时候,如果由于某些原因,中途中断程序,

可能会造成大量的碎片文件,这写碎片文件分布在SPD设定的各个盘符中,

并且数量较大(每个sas执行线程都会在每个盘符中产生1.5k左右的碎片文件)。

运用一个小程序删除这些碎片文件,一般情况下需要删除几十万个碎片文件,因此

为了提高删除的效率,对比了以下两种方法:

1. 自行遍历文件夹删除(一般方法,这里不阐述)

2. 执行脚本的方法
程序调用OS可以执行的脚本进行删除
windows:rd filename /q /s

linux:rm -f -r filename

java是使用Runtime.getRuntime()进行调用(windows)

1 Runtime runtime = Runtime.getRuntime();
2 String[] args = new String[] {"cmd.exe", "/c", tring.format("rd %s /q /s", folderpath)};
3 runtime.exec(args);

测试两个方法的耗时结果:

5000文件
第1种方法: 删除共耗时: 3648 ms
第2种方法: 删除共耗时: 1672 ms

11000文件
第1种方法: 删除共耗时: 5782 ms

第2种方法: 删除共耗时: 2391 ms

转载:https://www.cnblogs.com/tyoyi/p/4259114.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值