博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
删除一个带有文件的文件夹
阅读量:5134 次
发布时间:2019-06-13

本文共 875 字,大约阅读时间需要 2 分钟。

普通删除文件夹的方法:

File s= new File("D:\\shanchu");

System.out.println(s.delete());

但这仅限于空的文件夹,当文件夹有内容的时候,结果为false。

当文件夹中有内容,我们只能从里往外删除,而且不知道有多少级目录。如果文件夹底下是文件,直接删除,有文件夹则继续向里边走。

很明显这是一个递归算法。

建立一个用于递归的方法:

public static void remove(File s) {

File[] files=s.listFiles();                //列出当前目录下的文件以及文件夹
for(File file:files) {                       
if(file.isDirectory()) {                   //判断是否是目录
remove(file);                              //继续递归
}
else {
System.out.println(file+":"+file.delete());     //删除文件,用打印语句验证是否删除成功,是否有误删。
}
}

为了方便直观把删除的东西都显示出来

System.out.println(s+":"+s.delete());

部分结果如下:

D:\shanchu\ass4\.classpath:true

D:\shanchu\ass4\.project:true
D:\shanchu\ass4\.settings\org.eclipse.jdt.core.prefs:true
D:\shanchu\ass4\.settings:true
D:\shanchu\ass4\bin\ass4\DrawPanel.class:true
D:\shanchu\ass4\bin\ass4\MyCircle.class:true

回过头来看这个程序,为了避免异常的发生,我们不妨加上if判断语句

if(s.exists&&s.isDirectory)来确保文件夹存在而且是个目录。

 

转载于:https://www.cnblogs.com/zhc8016/p/10587599.html

你可能感兴趣的文章
jvm slot复用
查看>>
高并发系统数据库设计
查看>>
LibSVM for Python 使用
查看>>
入坑的开始~O(∩_∩)O~
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
Windows 7 上安装Visual Studio 2015 失败解决方案
查看>>
iOS按钮长按
查看>>
Shell流程控制
查看>>
CSS属性值currentColor
查看>>
[Leetcode|SQL] Combine Two Tables
查看>>
《DSP using MATLAB》Problem 7.37
查看>>
ROS lesson 1
查看>>
js笔记
查看>>
c风格字符串函数
查看>>
python基础学习第二天
查看>>
java可重入锁reentrantlock
查看>>
浅谈卷积神经网络及matlab实现
查看>>
struts2学习(9)struts标签2(界面标签、其他标签)
查看>>
Android 导入jar包 so模块--导入放置的目录
查看>>
解决ajax请求cors跨域问题
查看>>