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 ...
随机推荐
- vue 全局组件【原】
1.目录 2.内容 -Loading.vue <template> <div class="loading"> loading... </div> ...
- LeetCode OJ 129. Sum Root to Leaf Numbers
题目 Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a num ...
- 在chrome console添加jQuery支持
有时候想在chrome console使用jq,那么下面这段代码就可以完美解决问题了. var script = document.createElement('script');script.src ...
- jquery中的 deferred之 deferred对象 (一)
案例: var def=$.Deferred(); console.log(def);//答案见 图1 图1: deferred就是一个有这些方法的对象. 看源码分析: Deferred: funct ...
- 吴裕雄 python深度学习与实践(7)
import cv2 import numpy as np img = np.mat(np.zeros((,))) cv2.imshow("test",img) cv2.waitK ...
- Halcon常用算子02
threshold:阈值分割 minGray<=g<=maxGray select_shape:选取特定区域(Region) regiongrowing:区域生长法分割图像获得 ...
- 浏览器useragent
var ua = window.navigator.userAgent; edge :Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537 ...
- java学习笔记(七):for循环
java的for循环和c++的for循环类似 public class Test { public static void main(String args[]) { for(int x = 10; ...
- Java中CountDownLatch和CyclicBarrier
Java编程思想中的例子import javax.validation.constraints.Size; import java.util.Random; import java.util.conc ...
- TZOJ 3820 Revenge of Fibonacci(大数+trie)
描述 The well-known Fibonacci sequence is defined as following: Here we regard n as the index of the F ...