删除一个带有文件的文件夹
普通删除文件夹的方法:
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
删除一个带有文件的文件夹相关推荐
- 可以删除一个lib下所有文件的cl程序(转)
可以删除一个lib下所有文件的cl程序(转) 最近在做报表查询程序.每次查询结果都生成临时文件在一个lib下. 程序中没控制查询完毕清除临时文件.所以想办法做了个cl程序加入作业调度里凌晨清除文件. ...
- linux上删除一个目录以及其下文件
rm [options] 文件夹名称 参数 -i 删除前逐一询问确认 -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认 r 将目录及以下之档案亦逐一删除 删除当前目录下所有文件和目录: rm - ...
- 使用python删除一个文件或文件夹
参考使用python删除一个文件或文件夹 - 云+社区 - 腾讯云 使用python删除一个文件或文件夹,需要使用os模块. import os os.remove(path) # path是文件的路 ...
- Linux下删除一个文件夹命令
Linux下大家经常要删除一些文件.直接使用rm即可,但是当要删除一个文件夹时,首先想到rmdir,但是如果文件夹非空,则非常麻烦. 下面的命令可以帮助删除一个非空的文件夹 #rm -rf 文件夹 ...
- 使用python删除一个文件或文件夹几种办法
import os os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除 os.rmdir(path) # ...
- Windows CMD删除文件或文件夹命令帮助
文章目录 1. 删除文件`del`命令 2. 删除文件夹`rd`命令 1. 删除文件del命令 C:\Users\zj175>del /? 删除一个或多个文件.DEL [/P] [/F] [/S ...
- 【CMD】删除文件或文件夹
前言 win10 删除文件 cmd> del /? 删除一个或多个文件.DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] ...
- python 删除文件或文件夹
os.remove(path) 删除文件 path. 如果path是一个目录, 抛出 OSError错误.如果要删除目录,请使用rmdir(). remove() 同 unlink() 的功能是一样的 ...
- 22 Python IO、打印到屏幕、读取键盘输入、打开和关闭文件、文件定位、重命名和删除文件、Python里的目录、文件,目录相关的方法
22Python文件I/O 22.1打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: ...
最新文章
- 【redis】2.redis可视化工具安装使用
- 快排--java实现
- 高级软件工程第七次作业:东理三剑客团队作业-随笔5
- Delphi IDE扩展工具,在IDE中增加Google翻译器
- django的orm指定字段名,表名 verbose_name_plural
- springMVC整合mybatis 项目遇到问题总结
- 超低延时超低卡顿率视频传输的秘密
- foxmail 设置签名和信纸
- ETABS和SAP2000中质量源的定义
- 计算机的收获初一作文,收获的作文(精选8篇)
- 还在抠图?百万张PNG透明图片免费下载!
- Spring注解驱动开发第26讲——总有人让我给他讲讲@EnableAspectJAutoProxy注解
- 线性空间2--子空间
- Day3:现金流三拷问---投资环节
- java 中文分词转拼音_java 支持分词的高性能拼音转换工具, 速度是 pinyin4j 的两倍...
- python-etl框架bonobo使用入门
- ts类型声明declare
- 重磅:小程序将可分享到朋友圈啦!
- 有没有测试鼠标是否丢帧的软件,深澜大叔教你如何准确检测鼠标是否丢帧
- 矩形广告是什么?矩形广告如何设置?
热门文章
- 找出数组中只出现过一次的数
- linux系统snmpd服务内存偏高,Red Hat Enterprise Linux 5.4 64位系统SNMP内存泄漏(上)
- mysql优于oracle的地方_MYSQL转为ORACLE要注意的地方
- JSP九大内置对象的分析,对应SERVLET中如何获取、使用
- php数组如何插入,PHP如何在数组指定位置插入单元
- 耿国华c语言程序设计,C语言程序设计课程教学探究.doc
- 12个免费的 Twitter Bootstrap 后台模板
- 在Content provider实现中使用SQLiteOpenHelper
- 如何开发Web3D游戏
- 2.窗口大小改变和侧边栏收缩的时候,echarts图表的自适应