/**
* @param directoryPathStr 文件夹路径
* @return
*/
public static boolean deleteDirectory(String directoryPathStr) {
Path reportPath = Paths.get(directoryPathStr);
//先遍历删除文件夹中文件,再删除文件夹
if (Files.exists(reportPath)) {
try {
List<File> directoryList = new ArrayList<>();
Files.walk(reportPath).map(Path::toFile).forEach(file -> {
if (file.isFile()) {
//文件直接删除
file.delete();
} else {
directoryList.add(file);
}
});
//设备最大循环次数,防止死循环
int time = 0, maxTime = directoryList.size();
while (directoryList.size() > 0 && time < maxTime) {
//遍历删除
directoryList.removeIf(file -> file.list().length == 0 && file.delete());
time++;
}
} catch (Exception e) {
return false;
}
}
return true;
}
java8删除文件夹以及文件夹下所有内容
最新推荐文章于 2024-05-13 19:55:32 发布