工具代码

 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. Install weblogic in silent mode

    使用静默(silent)模式来安装weblogic,在需要将安装脚本化,或无法使用图形界面的时候非常有用. 下面按照自己在实际工作中碰到的例子,来慢慢总结不同版本和平台weblogic的静默安装方法. ...

  2. HLSL ddx / ddy

    [HLSL ddx / ddy] 在光栅化的时刻,GPUs会在同一时刻并行运行很多Fragment Shader,但是并不是一个pixel一个pixel去执行的,而是将其组织在2x2的一组pixels ...

  3. 数组中的逆序对(python)

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%1000 ...

  4. 在VMware的虚拟机中克隆CentOS,在重启网卡的时候报错解决办法

    克隆虚拟机配置 1.修改:vi /etc/hosts 2.修改:vi /etc/sysconfig/network 3.重启生效:reboot或者init 6 如不重启可以输入:hostname  新 ...

  5. 英雄联盟lol登录错误:登录服务器未响应、您可能遇到了一个网络问题、请检查您的网络。

    第一方法cmd 用管理员命令打开,输入  netsh winsock reset.重启 第二种方法  win+r 输入 regedit  在 HKEY_CURRENT_USER\Software\Mi ...

  6. 带标签的循环语句、switch

    今天继续更新,控制流程的剩余部分内容,带标签的循环语句中的continue/break 的使用方法,以及switch关键字的使用方法.例1:带标签的continue/break.package com ...

  7. centos 7 安装pip

    1.首先检查centos 有没有安装python-pip 包, >>yum install python-pipnotice:NO package python-pip available ...

  8. js常用判断和语法

    1.js获取选中的redio元素 var version = $('.version input[name="input1"]:checked').val();//单选框默认选中& ...

  9. python08内置函数

    https://www.cnblogs.com/xiao1/p/5856890.html 1 .all(可迭代对象),对每个元素进行布尔运算,全部为真,函数结果就为真,否则为假 参数为一个整体的情况例 ...

  10. redis CentOS6.5安装及集群部署

    .下载redis source包 链接:https://pan.baidu.com/s/122ZCjNvjl9Jx6M2YsLrncw 密码:92ze 2.解压 tar -xzf redis-3.2. ...