Java 递归删除文件及目录
时间: 2023-10-26 13:07:40 浏览: 112
Java中删除文件或目录可以使用`java.io.File`类的`delete()`方法来实现。如果要删除的是一个目录,则需要使用递归的方式来删除该目录及其子目录中的所有文件。
以下是使用递归删除目录的示例代码:
```java
import java.io.File;
public class DeleteDirectory {
public static void main(String[] args) {
// 需要删除的目录路径
String directoryPath = "/path/to/directory";
// 创建File对象
File directory = new File(directoryPath);
// 调用deleteDirectory方法删除目录
deleteDirectory(directory);
}
public static void deleteDirectory(File directory) {
// 如果传入的File对象不是目录,则直接删除
if (!directory.isDirectory()) {
directory.delete();
return;
}
// 如果是目录,则获取该目录下的所有子文件和子目录
File[] files = directory.listFiles();
if (files != null) {
// 遍历子文件和子目录,并递归调用deleteDirectory方法
for (File file : files) {
deleteDirectory(file);
}
}
// 删除空目录
directory.delete();
}
}
```
在上面的代码中,我们首先判断传入的`File`对象是否是一个目录。如果不是,则直接调用`delete()`方法删除该文件。如果是一个目录,则调用`listFiles()`方法获取该目录下的所有子文件和子目录,然后遍历这些子文件和子目录,并递归调用`deleteDirectory()`方法删除它们。最后,再删除空目录
阅读全文