删除文件、文件夹、子目录的工具类

  1 package com.wdxc.util;
  2
  3 import java.io.File;
  4
  5 /**
  6  * 文件删除
  7  * 包括文件夹包含文件夹、文件的情况
  8  * @author wangbo
  9  *
 10  */
 11 public class FileDelUtil {
 12
 13
 14     /**
 15      * 根据路径删除指定的目录或文件,无论存在与否
 16      * @param sPath  要删除的目录或文件路径
 17      * @return 删除成功返回 true,否则返回 false。
 18      */
 19     public static boolean DeleteFolder(String sPath) {
 20         File file = new File(sPath);
 21         //判断目录或文件是否存在
 22         if (!file.exists()) {//不存在返回 false
 23             return false;
 24         } else {
 25             //判断是否为文件
 26             if (file.isFile()) {//为文件时调用删除文件方法
 27                 return deleteFile(sPath);
 28             } else {//为目录时调用删除目录方法
 29                 return deleteDirectory(sPath);
 30             }
 31         }
 32     }
 33     /**
 34      * 删除单个文件
 35      * @param sPath 被删除文件的文件名
 36      * @return 单个文件删除成功返回true,否则返回false
 37      */
 38     public static boolean deleteFile(String sPath) {
 39         File file = new File(sPath);
 40         //路径为文件且不为空则进行删除
 41         if (file.isFile() && file.exists()) {
 42             file.delete();
 43             return true;
 44         }
 45         return false;
 46     }
 47
 48
 49     /**
 50      * 删除目录(文件夹)以及目录下的文件
 51      * @param  sPath 被删除目录的文件路径
 52      * @return  目录删除成功返回true,否则返回false
 53      */
 54     public static boolean deleteDirectory(String sPath) {
 55         //如果sPath不以文件分隔符结尾,自动添加文件分隔符
 56         if (!sPath.endsWith(File.separator)) {
 57             sPath = sPath + File.separator;
 58         }
 59         File dirFile = new File(sPath);
 60         //如果dir对应的文件不存在,或者不是一个目录,则退出
 61         if (!dirFile.exists() || !dirFile.isDirectory()) {
 62             return false;
 63         }
 64         boolean flag = true;
 65         //删除文件夹下的所有文件(包括子目录)
 66         File[] files = dirFile.listFiles();
 67         for (int i = 0; i < files.length; i++) {
 68             if (files[i].isFile()) {//删除子文件
 69                 flag = deleteFile(files[i].getAbsolutePath());
 70                 if (!flag) break;
 71             }else { //删除子目录
 72                 flag = deleteDirectory(files[i].getAbsolutePath());
 73                 if (!flag) break;
 74             }
 75         }
 76         if (!flag) return false;
 77         //删除当前目录
 78         if (dirFile.delete()) {
 79             return true;
 80         } else {
 81             return false;
 82         }
 83     }
 84
 85
 86     /**
 87      * 测试方法
 88      * @param args
 89      */
 90     public static void main(String[] args) {
 91         String path = "D:\\aaa\\bbb\\Ab1";
 92         // 验证字符串是否为正确路径名的正则表达式
 93         String regex = "[A-Za-z]:\\\\[^:?\"><*]*";
 94         // 通过 sPath.matches(matches) 方法的返回值判断是否正确
 95         if (path.matches(regex)) {
 96             boolean result = DeleteFolder(path);
 97             System.out.println(result);
 98         }else {
 99             System.out.println("路径不匹配!");
100         }
101     }
102 }
时间: 2024-07-31 10:05:08

删除文件、文件夹、子目录的工具类的相关文章

常用文件(夹)处理方法工具类

功能:文件夹创建.文件删除.文件保存和读取.文件压缩与解压缩.excel文件打印 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import ja

文件压缩、解压工具类。文件压缩格式为zip

package com.JUtils.file; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; impor

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ?Copyright 蕃薯耀 2017年9月13日 http://www.cnblogs.com/fanshuyao/ 直接上代码: import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.ref

(上传文件)fastDFSClient----客户端工具类

package cn.kgc.core.util; import org.apache.commons.io.FilenameUtils; import org.csource.common.NameValuePair; import org.csource.fastdfs.ClientGlobal; import org.csource.fastdfs.StorageClient1; import org.csource.fastdfs.StorageServer; import org.cs

获取一个临时文件和对中文文件名字进行编码的工具类

首先我们明白,一个文件可以命名为任何名称,比如一个excel,我们可以命名为不带后缀,然后向里面写入对应的内容,只是在导出的时候将文件命名为正确的名字即可. 一个在当前用户的默认临时文件夹中生成一个当前日期的文件夹,然后再里面写入一个用UUID生成名字的文件,常用于JavaEE中文件下载的时候先生成一个临时文件,然后向此文件中写入数据之后打开输入流提供下载. 获取一个临时文件,用于输入内容后打开inputstream提供下载 依赖Slf4j日志和commons-io包 public static

android文件和图片的处理工具类(一)

1 package com.gzcivil.utils; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.InputStream; 7 import java.math.BigDecimal; 8 import java.text.DecimalFormat; 9 import java.util.List; 10 impo

iOS开发拓展篇—封装音频文件播放工具类

一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError; - (id)initWithData:(NSData *)data error:(NSError **)outError; 准备播放(缓冲,提高播放的流畅性) - (BOOL)prepareToPlay;

spring mvc 文件上传工具类

虽然文件上传在框架中,已经不是什么困难的事情了,但自己还是开发了一个文件上传工具类,是基于springmvc文件上传的. 工具类只需要传入需要的两个参数,就可以上传到任何想要上传的路径: 参数1:HttpServletRequest request 参数2:String storePath   //文件存储相对路径 ,例如:"/upload","/image","/local/file" 返回值:上传到服务器的相对路径 一:代码实现 import

史上最全的开发工具类(转)

     API 银行卡管理 → BankCheck checkBankCard : 校验银行卡卡号是否合法getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位getNameOfBank : 通过银行卡的前六位确定判断银行开户行及卡种 SharePreference缓存数据 →AppSharePreferenceMgr put : 保存数据的方法get : 获取数据的方法putImage: 保存图片到SharedPreferencesgetIma