删除目录的Java程序
名为Java.io.File 的类表示系统中的文件或目录(路径名)。此类提供了对文件/目录执行各种操作的方法。
File类的 delete() 方法删除当前 File 对象所代表的文件和空目录。如果目录不为空或包含文件,则无法直接删除。首先清空目录,然后删除文件夹。
假设存在一个路径为C:\\GFG的目录。下图显示了GFG文件夹中的文件和目录。子目录Ritik包含一个名为Logistics.xlsx的文件,子目录Rohan包含一个名为Payments.xlsx的文件。
以下Java程序说明了如何删除目录。
方法一:使用delete()删除文件和空文件夹
- 提供目录的路径。
- 调用用户定义的方法 deleteDirectory() 删除所有文件和子文件夹。
Java
// Java program to delete a directory
import java.io.File;
class DeleteDirectory {
// function to delete subdirectories and files
public static void deleteDirectory(File file)
{
// store all the paths of files and folders present
// inside directory
for (File subfile : file.listFiles()) {
// if it is a subfolder,e.g Rohan and Ritik,
// recursiley call function to empty subfolder
if (subfile.isDirectory()) {
deleteDirectory(subfile);
}
// delete files and empty subfolders
subfile.delete();
}
}
public static void main(String[] args)
{
// store file path
String filepath = "C:\\GFG";
File file = new File(filepath);
// call deleteDirectory function to delete
// subdirectory and files
deleteDirectory(file);
// delete main GFG folder
file.delete();
}
}
Java
// Java program to delete a directory
import java.io.File;
import org.apache.commons.io.FileUtils;
class DelteDirectory {
public static void main(String[] args)
{
// store file path
String filepath = "C:\\GFG";
File file = new File(filepath);
// call deleteDirectory method to delete directory
// recursively
FileUtils.deleteDirectory(file);
// delete GFG folder
file.delete();
}
}
输出
以下是不存在GFG文件夹的 C 盘图像。
方法二:使用commons-io中的deleteDirectory()方法
要使用 deleteDirectory() 方法,您需要向 maven 项目添加 commons-io 依赖项。
Java
// Java program to delete a directory
import java.io.File;
import org.apache.commons.io.FileUtils;
class DelteDirectory {
public static void main(String[] args)
{
// store file path
String filepath = "C:\\GFG";
File file = new File(filepath);
// call deleteDirectory method to delete directory
// recursively
FileUtils.deleteDirectory(file);
// delete GFG folder
file.delete();
}
}
输出
以下是不存在GFG文件夹的 C 盘图像。