批处理删除工具
来源:互联网 发布:剑三成女脸型数据网盘 编辑:程序博客网 时间:2024/06/03 17:19
批处理删除工具
作者:Vashon
时间:20160102
之前写本工具类的目的是为了删除地图切片过程产生的垃圾碎片。也可以移植到其他的应用。本批处理删除工具类是多线程下同时进行的,可提高删除速度,特别是文件上G时对比效果就明显了。______滴水石穿
声明:转载请注明出处,尊重原作。
一、准备需要执行的程序
本工具类代码如下:
删除文件类代码:
package com.ywx.utils.deletefile;import java.io.File;/** * 开启多线程删除文件,提示速度. * @author vashon * */public class FileDeleteThread extends Thread{ /**文件路径**/ private String path; /**文件类型**/ private String type; public String getPath() { return this.path; } public void setPath(String path) { this.path = path; } public String getType() { return this.type; } public void setType(String type) { this.type = type; } public FileDeleteThread(String path, String type) { this.path = path; this.type = type; } public void run() { StartDelete(new File(this.path)); } /** * 开始删除. * @param file */ public void StartDelete(File file) { if (file.isDirectory()) { File[] files = file.listFiles(); for (File itemfile : files) { StartDelete(itemfile); } }else if (file.getName().endsWith(this.type)) { boolean flag = file.delete(); if (flag) System.out.println(toString() + "删除文件【" + file.getAbsolutePath() + "】成功!"); } }}
校验文件类代码:
package com.ywx.utils.deletefile;import java.io.File;/** * 文件有效性校验. * @author vashon */public class Check{ public boolean validatePath(String path) { if (new File(path).exists()) { return true; } return false; } /** * 验证参数. * @param info * @return */ public boolean validateParam(String[] info) { if (info.length == 2) { return true; } return false; } /** * 校验文件路径和参数. * @param path 文件路径 * @param info 输入的参数 */ public void checkPathAndParam(String path, String[] info) { if (!validateParam(info)) { System.out.println("您输入的参数个数不对!"); System.out.println("格式为:路径名 后缀名"); } if (!validatePath(path)) System.out.println("该路径不存在!"); }}
执行操作删除文件代码:
package com.ywx.utils.deletefile;import java.io.File;/** * 执行删除操作. * @author vashon */public class Operate{ private String[] info; public Operate(String[] info){ this.info = info; new Check().checkPathAndParam(info[0], info); newInitThread(new File(info[0])); } @Deprecated public void initThread() { File file = new File(this.info[0]); File[] files = file.listFiles(); for (int i = 0; i < files.length; i++) new FileDeleteThread(this.info[0], this.info[1]).start(); } /** * 根据文件大小创建线程. * @param file */ public void newInitThread(File file){ int n = 0; if (file.isDirectory()) { File[] flen = file.listFiles(); for (File itemf : flen) { if (itemf.isDirectory()) { newInitThread(itemf); }else{ n++; break; } } for (int i = 0; i < n; i++){ new FileDeleteThread(this.info[0], this.info[1]).start(); } } }}
入口函数代码:
package com.ywx.utils.deletefile;public class TestMain{ public static void main(String[] args) { new Operate(args); }}
二、打包成jar文件
1、在eclipse中选择你要导出的类或者package,这里是包;右击,选择Export子选项
2、在弹出的对话框中,选择java文件---选择JAR file
3、到处jar文件到指定目录
4、我这里是导出到桌面。
三、编写bat命令
代码都准备好后,接下来看看bat命令了;把需要执行的参数放在bat里,双击运行就能执行程序删除垃圾碎片了。
bat正文如下:
java -cp .;deletefile.jar com.ywx.utils.deletefile.TestMain d:\P_256_CD35485BFIX solidpause;
四、实战
做好的工具是这样子的
运行我们的工具执行结果如下:
最后等待的结果如下:
源码下载:批处理工具
附言:这是2014年前写的程序,想想都2016了,拿出来改改更新下感觉还是不错的!
3 0
- 批处理删除工具
- 批处理删除svn信息:批处理
- 批处理删除svn信息:批处理
- 批处理代码-------删除垃圾文件
- 批处理 批量删除文件
- 批处理删除SVN标记
- 删除文件批处理
- 删除临时文件的批处理
- 批处理删除vc临时文件
- 批处理删除注册表分支
- bat批处理自删除
- 批处理删除SVN标记
- 批处理 删除文件 脚本
- 批处理定时删除文件夹
- 批量删除文件【批处理】
- Mybatis插入/删除批处理
- 批处理删除空文件夹-
- bat批处理删除文件
- 解决gem install中Errno::ECONNRESET: Connection reset by peer - SSL_connect
- Caffe学习记录:Cifar-10 自定义网络训练记录
- c语言编译时的一个问题
- Spart内核天机解密(2016)第一讲 Scala光速入门
- cocosjs+ccs花屏解决
- 批处理删除工具
- 工作时间
- 记一次 JS 模拟 CSS active 效果的过程
- 【极客学院】-iOS学习笔记-5-Swift(变量,循环,控制,函数,面向对象,小项目:呈现网页)
- 堆栈、静态区、栈之间的关系
- 【VS】VS2012未找到与约束匹配的导出
- java初始化之变量初始化
- 排序
- 停用两个模块并发现一个奇怪的注释问题