在这一小节中,将学习如何以递归方式删除java中的非空目录/文件夹。
Java删除目录
Java File delete()
方法删除文件或空目录。但是,如果目录不为空,则不会删除它并返回false
。
下面将递归地使用delete()
函数来删除java程序中的目录/文件夹。
import java.io.File;
/**
* 此实用程序类可用于在java中递归删除文件夹
* @author maxsu
*/
public class DeleteFolderRecursively {
public static void main(String[] args) {
String folder = "D:/worksp/tmp";
// 递归删除文件夹
recursiveDelete(new File(folder));
}
public static void recursiveDelete(File file) {
// 结束递归循环
if (!file.exists())
return;
// 如果是目录,请进入内部并递归调用
if (file.isDirectory()) {
for (File f : file.listFiles()) {
// 调用递归
recursiveDelete(f);
}
}
// 调用delete删除文件和空目录
file.delete();
System.out.println("Deleted file/folder: "+file.getAbsolutePath());
}
}
这里使用delete()
方法删除文件夹内容,如果是目录,递归调用recursiveDelete()
方法。
可以使用此实用程序方法删除非空目录。