本程序实现了File类的目录文件查找功能,目录删除功能。
package javaIO;
import java.io.File;
public class DeleteDirectory {
public static void main(String[] args) {
File file = new File("E:\E文件夹"); //自定义一个文件名(建议额外创建一个文件夹做测试,防止重要文件丢失及发生某些错误)
printFile(file);
if(deleteDirectory(file)) //返回true时,输出删除成功语句
System.out.println("目录删除成功");
else
System.out.println("目录删除失败");
}
public static void printFile(File file) {
if(file.exists() && file.isDirectory()) { //判断是否文件存在且为目录
File[] subfile = file.listFiles(); //把目录下的所有子文件赋给数组
for (File file2 : subfile) { //输出所有文件的绝对路径并换行
System.out.println(file2.getAbsolutePath());
}
}else //如果文件不存在,输出错误
System.out.println("Invalid input");
}
public static void searchFiles(File file, String name) {
if(file.exists() && file.isDirectory()) { //当目录存在且为目录时
File[] subfile = file.listFiles();
for (File file2 : subfile) {
if(file2.getName().endsWith(name)) //判断文件名是否以name为后缀
System.out.println(file2.getAbsolutePath());
}
}
}
public static boolean deleteDirectory(File file) {
if(file.exists()) { //判断文件是否存在
File[] subfile = file.listFiles(); //把目录下的所有子文件赋给数组
for (File file2 : subfile) { //检索目录下的所有文件
if(file2.isDirectory()) //如果是目录,递归调用本方法继续检索
deleteDirectory(file2);
else
file2.delete(); //如果是文件,直接删除
}
if(file.exists()) { //当最后只剩下目标目录时,删除目录
file.delete();
return true;
}
}
return false; //目录不存在时,返回false
}
}



