删除指定目录下的所有文件,包括其子目录中的文件,但是子目录不能被删除,还在 用File类写 并注释每一行含义(代表的意思)
时间: 2023-06-11 10:08:38 浏览: 94
查找指定目录下的文件(包括子目录).rar_文件目录_查找 子目录
```java
import java.io.File;
public class DeleteFiles {
public static void main(String[] args) {
// 创建一个File对象来表示要删除的目录
File directory = new File("path/to/directory");
// 调用deleteDirectory方法删除目录及其所有内容
deleteDirectory(directory);
}
public static void deleteDirectory(File directory) {
// 如果目录存在
if (directory.exists()) {
// 获取目录下的所有文件和子目录
File[] files = directory.listFiles();
if (files != null) {
// 遍历每个文件和子目录
for (File file : files) {
// 如果是文件,直接删除
if (file.isFile()) {
file.delete();
// 如果是目录,递归调用deleteDirectory方法删除子目录
} else if (file.isDirectory()) {
deleteDirectory(file);
}
}
}
// 删除目录本身
directory.delete();
}
}
}
```
注释:
1. `import java.io.File;`:导入File类。
2. `public class DeleteFiles { ... }`:定义一个名为DeleteFiles的公共类。
3. `public static void main(String[] args) { ... }`:定义程序的主方法。
4. `File directory = new File("path/to/directory");`:创建一个File对象来表示要删除的目录。
5. `deleteDirectory(directory);`:调用deleteDirectory方法删除目录及其所有内容。
6. `public static void deleteDirectory(File directory) { ... }`:定义一个静态方法来删除目录及其所有内容,参数为File类型的目录。
7. `if (directory.exists()) { ... }`:如果目录存在,则执行下面的代码。
8. `File[] files = directory.listFiles();`:获取目录下的所有文件和子目录。
9. `if (files != null) { ... }`:如果目录下有文件或子目录,则执行下面的代码。
10. `for (File file : files) { ... }`:遍历每个文件和子目录。
11. `if (file.isFile()) { ... }`:如果是文件,则直接删除。
12. `else if (file.isDirectory()) { ... }`:如果是目录,则递归调用deleteDirectory方法删除子目录。
13. `directory.delete();`:删除目录本身。
阅读全文