- 论坛徽章:
- 0
|
先简单说明一些基本:(下面所说的文件夹也就是目录,我个人一开始不知道目录是什么,后来才知道目录就是文件夹)。
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 }
复制代码 |
|