版权声明:@By Author Hadoop.W https://blog.csdn.net/u013786479/article/details/82592710
package org.wxz.tools.oracle.io.file.util;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.wxz.tools.oracle.empty.util.EmptyUtil;
/**
* 文件删除工具类
*
* @author XiongZhi.Wu 2017年12月10日
*/
public abstract class FileDeleteUtil {
/**
* 删除
*
* @author XiongZhi.Wu 2017年12月10日
* @param files
* 多个文件路径
* @return
*/
public static List delete(String… files) {
List deleteErrorFileList = new ArrayList();
for (String file : files) {
if (!delete(file)) {
deleteErrorFileList.add(file);
}
}
return deleteErrorFileList;
}
/**
* 删除
*
* @author XiongZhi.Wu 2017年12月10日
* @param files
* 多个文件对象
* @return
*/
public static List<File> delete(File... files) {
List<File> deleteErrorFileList = new ArrayList<File>();
for (File file : files) {
if (!delete(file)) {
deleteErrorFileList.add(file);
}
}
return deleteErrorFileList;
}
/**
* 删除
*
* @author XiongZhi.Wu 2017年12月10日
* @param file
* 单个文件路径
* @return
*/
public static boolean delete(String file) {
return delete(new File(file));
}
/**
* 删除
*
* @author XiongZhi.Wu 2017年12月10日
* @param file
* 单个文件对象
* @return
*/
public static boolean delete(File file) {
if (file.isDirectory()) {
return deleteAll(file);
} else {
return deleteAny(file);
}
}
/**
* 删除
*
* @author XiongZhi.Wu 2017年12月10日
* @param file
* 单个文件对象
* @return
*/
private static boolean deleteAll(File file) {
File[] files = file.listFiles();
for (File temp : files) {
boolean flag = delete(temp);
if (!flag) {
System.out.println("文件删除失败:" + temp);
}
}
return deleteAny(file);
}
/**
* 删除
*
* @author XiongZhi.Wu 2017年12月10日
* @param file
* 单个文件对象
* @return
*/
private static boolean deleteAny(File file) {
boolean flag = true;
if (EmptyUtil.isNotNull(file)) {
synchronized (FileDeleteUtil.class) {
if (EmptyUtil.isNotNull(file)) {
flag = file.delete();
}
}
}
return flag;
}
}