文件即子文件删除
先简单说明一些基本:(下面所说的文件夹也就是目录,我个人一开始不知道目录是什么,后来才知道目录就是文件夹)。1.首先介绍delete()方法的基本用法。
先创建一个File对象 ,例如: File file = new File("C:/text");其中text是个文件夹;
① 当文件夹text为空时(即里面什么都没有),调用file.delete()方法,则会把该文件删除,返回true。
② 当文件夹text里面不是空时(里面有文件夹或者文件),调用file.delete()方法时,则不会把该文件删除,返回为false。
③ 所以对于文件夹里面存放有东西的时候不能直接删除。
2.递归: 简单的理解就是自己调用自己。
3.封装一个方法用于删除文件夹即其子文件:public static void deleteDir(File file) {
if (file.exists()) {// 判断传递来的文件是否存在,存在时执行下面代码
File[] fileList = file.listFiles();
for (File f : fileList) {
if (f.isDirectory()) {// 当文件是文件夹时
deleteDir(f); // 这里用到递归
} else {
System.out.println("删除的文件为:" + f.getName());
f.delete();
}
}
System.out.println("删除的文件夹为:" + file.getName()); //用于删除最外层的空文件夹
file.delete();
} else {
System.out.println("你所删除的文件不存在");
}
}4. 在main函数中调用:1 public static void main(String[] args) {
2 File file = new File("C:/text");
3 deleteDir(file);
4 }
页:
[1]