要求:删除D盘下名称前缀为picture的文件夹及其下面的所有文件
我创建了下面3个文件夹和一个pictre和pictureMM文件,每个文件夹都放了一个新建文件.txt文件
直接上代码:
/**
* 删除文件夹及其文件
*/
public class DeleteFileUntil {
/**
* 删除功能
*/
public static void deleteFile(File directory){
if (!directory.isDirectory()){
directory.delete();
} else{
File [] files = directory.listFiles();
// 空文件夹
if (files.length == 0){
directory.delete();
System.out.println("删除" + directory.getAbsolutePath());
return;
}
// 删除子文件夹和子文件
for (File file : files){
if (file.isDirectory()){
deleteFile(file);
} else {
file.delete();
System.out.println("删除" + file.getAbsolutePath());
}
}
// 删除文件夹本身
directory.delete();
System.out.println("删除" + directory.getAbsolutePath());
}
}
/**
* 删除目录下文件夹名前缀为picture的文件夹及下的所有文件
*/
public static void deleteFileNameLikePicture(File file){
//目录存在,且为文件夹
if (file.exists() && file.isDirectory()){
//找出下面所有的文件或者文件夹名称
String[] list = file.list();
for (String name:list) {
if (name.length()>=7 && name.substring(0,7).equals("picture")){
File file1 = new File(file+ name);
deleteFile(file1);
}
}
}
}
public static void main(String[] args) {
File file=new File("D:\\");
deleteFileNameLikePicture(file);
}
}
结果: