工具代码

 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 实现删除文件工具类的更多相关文章

  1. Java读取properties文件工具类并解决控制台中文乱码

    1.建立properts文件(error.message.properties) HTTP201= 请求成功并且服务器创建了新的资源 2.在spring-mvc.xml文件(applicationCo ...

  2. java学习_文件工具类

    工具类里面的方法全部都是静态的,调用的时候不需要实例化

  3. java上传文件工具类

    这个是之前整理之前所学时与使用java向邮箱发送邮件一块找到的,一起贴出来供大家参考: import java.awt.image.BufferedImage; import java.io.File ...

  4. java读取.txt文件工具类FileUtiles

    public class FileUtils { private static final String ENCODING = "UTF-8";//编码方式 /** * 获取文件的 ...

  5. FileUtils 文件工具类

    FileUtils 下载jar中的文件 package com.meeno.chemical.common.utils; import lombok.extern.slf4j.Slf4j; impor ...

  6. Java常用工具类---IP工具类、File文件工具类

    package com.jarvis.base.util; import java.io.IOException;import java.io.InputStreamReader;import jav ...

  7. 自动扫描FTP文件工具类 ScanFtp.java

    package com.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...

  8. 读取Config文件工具类 PropertiesConfig.java

    package com.util; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io ...

  9. java文件工具类

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

随机推荐

  1. win10 KMS命令激活步骤<转>

    三.win10 KMS命令激活步骤如下: 1.右键点击开始图标,弹出这个菜单,选择[windows powershell(管理员)],或者命令提示符管理员: 2.打开命令窗口,复制这个命令slmgr ...

  2. K8s之Etcd

    Etcd是一个开源的.高可用的.分布式的键值对数据存储系统,提供共享配置.服务的注册和发现.etcd与zookeeper相比算是轻量级系统,两者的一致性协议也一样,etcd的raft比zookeepe ...

  3. JDK Timer & TimerTask

    目录 Timer & TimerTask Binary Heap Insert DELETE MIN PERFORMANCE LifeCycle Constructor MainLoop sc ...

  4. 使用wireshark以及filddler配合抓去手机端的TCP以及HTTP请求

    在测试手机客户端时,有时候需要查看网络请求状况.使用在IDE中查看log的方式,能够解决问题,但是会比较复杂.wireshark不能够做代理,而fiddler主要是抓HTTP请求,没有wireshar ...

  5. python入门(六):函数

    1.系统自带的函数: >>> dir(__builtins__) ['ArithmeticError', 'AssertionError', 'AttributeError', 'B ...

  6. Add Inline Actions

    [Add Inline Actions] 1.为了使用 inline action,需要给 eosio.code 账号添加active权限. To use the 'activeauthority i ...

  7. 解题(TakeBusChooseLine)

    题目描述 从小明家所在公交站出发有n路公交到公司,现给出每路公交的停站数(不包括起点和终点),及每次停的时间(一路车在每个站停的时间相同)和发车的间隔,先假定每辆车同时在相对时间0分开始发车,且所有车 ...

  8. React Redux 记数器

    npm init react-app counter cd counter npm install 将 src/index.js改为 import React from 'react'; import ...

  9. Django之Form、ModelForm 组件

    Django之Form.ModelForm 组件 一.Form组件: django框架提供了一个form类,来处理web开发中的表单相关事项.众所周知,form最常做的是对用户输入的内容进行验证,为此 ...

  10. Django跨域(前端跨域)

    前情回顾 在说今天的问题之前先来回顾一下有关Ajax的相关内容 Ajax的优缺点 AJAX使用Javascript技术向服务器发送异步请求: AJAX无须刷新整个页面: 因为服务器响应内容不再是整个页 ...