Java 实现删除文件工具类
工具代码
package com.wangbo; import java.io.File; /**
* 删除目录或文件工具类
* @author wangbo
* @date 2017-04-11 15:59:30
*/
public class FileDelUtil { /**
* 入口方法
* 根据路径删除指定的目录或文件,无论存在与否
* @param path 要删除的目录或文件路径
* @return 删除成功返回 true,否则返回 false。
*/
public static boolean deleteFolder(String path) {
//验证字符串是否为正确路径名的正则表达式
String regex = "[A-Za-z]:\\\\[^:?\"><*]*";
if (path == null || !path.matches(regex)) {
System.out.println("path=" + path);
return false;
}
File file = new File(path);
//判断目录或文件是否存在
if (!file.exists()) {
return false;
} else {
//判断是否为文件
if (file.isFile()) {
return deleteFile(path);
} else {
return deleteDirectory(path);
}
}
} /**
* 删除单个文件
* @param path 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
private static boolean deleteFile(String path) {
File file = new File(path);
//路径为文件且不为空则进行删除
if (file.isFile() && file.exists()) {
file.delete();
return true;
}
return false;
} /**
* 删除目录(文件夹)以及目录下的文件
* @param path 被删除目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
private static boolean deleteDirectory(String path) {
//如果path不以文件分隔符结尾,自动添加文件分隔符
if (!path.endsWith(File.separator)) {
path = path + File.separator;
}
File dirFile = new File(path);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if (!dirFile.exists() || !dirFile.isDirectory()) {
return false;
}
boolean flag = true;
//删除文件夹下的所有文件(包括子目录)
File[] files = dirFile.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {//删除子文件
flag = deleteFile(files[i].getAbsolutePath());
}else { //删除子目录
flag = deleteDirectory(files[i].getAbsolutePath());
}
if (!flag) return flag;
}
//删除当前目录
return dirFile.delete();
} }
Java 实现删除文件工具类的更多相关文章
- Java读取properties文件工具类并解决控制台中文乱码
1.建立properts文件(error.message.properties) HTTP201= 请求成功并且服务器创建了新的资源 2.在spring-mvc.xml文件(applicationCo ...
- java学习_文件工具类
工具类里面的方法全部都是静态的,调用的时候不需要实例化
- java上传文件工具类
这个是之前整理之前所学时与使用java向邮箱发送邮件一块找到的,一起贴出来供大家参考: import java.awt.image.BufferedImage; import java.io.File ...
- java读取.txt文件工具类FileUtiles
public class FileUtils { private static final String ENCODING = "UTF-8";//编码方式 /** * 获取文件的 ...
- FileUtils 文件工具类
FileUtils 下载jar中的文件 package com.meeno.chemical.common.utils; import lombok.extern.slf4j.Slf4j; impor ...
- Java常用工具类---IP工具类、File文件工具类
package com.jarvis.base.util; import java.io.IOException;import java.io.InputStreamReader;import jav ...
- 自动扫描FTP文件工具类 ScanFtp.java
package com.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...
- 读取Config文件工具类 PropertiesConfig.java
package com.util; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io ...
- java文件工具类
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
随机推荐
- js代码技巧
1.js 中不常用的处理方法 //取整 parseInt(a,10); //Before Math.floor(a); //Before a>>0; //Before ~~a; //Aft ...
- java 集合是否有序
参考:https://www.cnblogs.com/hoobey/p/5914226.html
- Shapley值的一个应用
看书有这样一个问题,某互联网公司今天需要加班,需要编写一个500行的程序代码,产品经理找了三个程序员来完成.按照完成量发奖金:1号普通程序员独立能写100行,2号大神程序员独立能写125行,3号美女程 ...
- python学习笔记(五)- 文件操作
1.读文件f = open('word.txt',encoding='utf8') #默认打开当前目录下的文件,打开其它目录用绝对路径#f = open('word.txt',encoding='u ...
- 亿级 ELK 日志平台构建部署实践
本篇主要讲工作中的真实经历,我们怎么打造亿级日志平台,同时手把手教大家建立起这样一套亿级 ELK 系统.日志平台具体发展历程可以参考上篇 「从 ELK 到 EFK 演进」 废话不多说,老司机们座好了, ...
- JSP中JavaScript校验用户名等重复
$(function () { $("#unitFrom").validate({ errorClass:"errorInfo", //默认为错误的样式类为:e ...
- zabbix邮件自动预警
Zabbix报警 自定义脚本报警 报警大致过程 item数据采集--->触发器由阈值触发带级别的信息-->触发动作发送邮件预警 1. 发送邮件脚本 1)安装sendEmail(参考Linu ...
- day0-功能自动化的前提
自动化不是万能的,不是什么产品都适合自动化测试,那些产品适合自动化测试? 只要满足下面三个条件就可以进行自动化测试 一:软件需求变动不频繁 二:项目周期较长 自动化测试框架的设计.脚本的开发与调试需要 ...
- linux学习第十二天 (Linux就该这么学)找到一本不错的Linux电子书,附《Linux就该这么学》章节目录
本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...
- [SoapUI] 从测试套件,测试用例,测试步骤,测试数据各个级别控制是否执行
自动保存 # -*- coding: utf-8 -*- import java.awt.Color import org.apache.poi.ss.usermodel.Cell import or ...