文章目录
- 删除文件夹
- 删除文件夹(通用)
- 删除子文件夹(通用)
- 删除超过n天的文件夹
io流内容太多了,拆分下吧。
删除文件夹
java自带的file.delete()只能删除文件或空文件夹。
所以如果要删除文件夹,需要先遍历删除文件,再删除文件夹。
删除文件夹(通用)
/*
* 删除文件夹(包含文件)
*/
public static void deleteDirectory(String path) {
String methodName="删除文件夹";
File file = new File(path);
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null) {
for (File item : files) {
deleteDirectory(item.getAbsolutePath());
}
}
}
file.delete();
}
注:这个方法连该文件夹也会删掉,但是有时我们的需求是删除该文件夹下的文件(不包含该文件夹)。
删除子文件夹(通用)
也比较好说,在写一个删除子文件夹的方法。
注:调用的是删除文件夹的方法,最外层文件夹不加delete()方法即可。
/*
* 删除子文件夹(包含文件)
*/
public static void deleteSubDirectory(String path) {
String methodName="删除子文件夹";
log.info(methodName+"方法开始,路径={}",path);
File file = new File(path);
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null) {
for (File item : files) {
deleteDirectory(item.getAbsolutePath());
}
}
}
log.info(methodName+"方法完成");
}
删除超过n天的文件夹