java删除空文件夹_Java 程序删除空目录和非空目录

本文介绍了如何在Java中删除空目录、非空目录以及包含非空子目录的目录。示例代码展示了使用File类的delete()方法,以及如何先删除非空目录中的所有文件再删除目录。对于非空子目录,通过递归调用来实现整个目录结构的删除。
摘要由CSDN通过智能技术生成

Java 程序删除空目录和非空目录

在此示例中,我们将学习在Java中删除一个空目录,一个非空目录和一个具有非空子目录的目录。

示例1:删除空目录的Java程序import java.io.File;

class Main {

public static void main(String[] args) {

try {

//创建一个新的文件对象

File directory = new File("Directory");

//删除目录

boolean result = directory.delete();

if(result) {

System.out.println("目录已删除");

}

else {

System.out.println("找不到目录");

}

} catch (Exception e) {

e.getStackTrace();

}

}

}

在上面的示例中,我们使用了File类的delete()方法来删除名为Directory的目录。

在此,如果目录存在,则显示消息目录已删除。否则,将显示“ 找不到目录”。

要了解有关文件的更多信息,请访问Java File。

示例2:删除非空目录

在Java中,要删除非空目录,我们必须首先删除该目录中存在的所有文件。然后,我们可以删除目录。import java.io.File;

class Main {

public static void main(String[] args) {

try {

//创建一个新的文件对象

File directory = new File("Directory");

//列出数组中的所有文件

File[] files = directory.listFiles();

//从目录中删除每个文件

for(File file : files) {

System.out.println(file + " deleted.");

file.delete();

}

//删除目录

if(directory.delete()) {

System.out.println("目录已删除");

}

else {

System.out.println("Directory not Found");

}

} catch (Exception e) {

e.getStackTrace();

}

}

}

在上面的示例中,我们已使用for-each循环删除目录中存在的所有文件。一旦删除了所有文件,便使用delete()方法删除目录。

示例3:递归删除非空目录import java.io.File;

class Main {

public static void deleteDirectory(File directory) {

//文件是否为目录

if(directory.isDirectory()) {

File[] files = directory.listFiles();

//如果目录包含任何文件

if(files != null) {

for(File file : files) {

//如果子目录为非空,则进行递归调用

deleteDirectory(file);

}

}

}

if(directory.delete()) {

System.out.println(directory + " 被删除");

}

else {

System.out.println("目录未删除");

}

}

public static void main(String[] args) {

try {

//创建一个新的文件对象

File directory = new File("Directory");

Main.deleteDirectory(directory);

} catch (Exception e) {

e.getStackTrace();

}

}

}

在这里,假设我们有一个名为的非空目录Directory。将Directory包含2个文件命名file1.txt,并file2.txt和一个名为非空的子目录Subdirectory。同样,Subdirectory包含一个名为的文件file11.txt。

现在,当我们运行程序时,我们将得到以下输出。Directory\file1.txt 被删除

Directory\file2.txt 被删除

Directory\Subdirectory\file11.txt 被删除

Directory\Subdirectory 被删除

目录已删除

在此,首先删除2个文件,然后递归函数删除 Subdirectory 内的文件。一旦Subdirectory为空,则将其删除。并且,最后将删除 Directory 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值