IO流-递归删除带内容的目录
/*
* 需求:递归删除带内容的目录
*
* 目录:demo
* ----------------------------------------------------------------------------------
* 具体的demo目录如下:
* demo\aaaa\a1.txt
* demo\aaaa\a2.txt
* demo\bbbb\b1.txt
* demo\bbbb\b2.txt
* 具体的删除结果如下:(删除顺序:先删某文件夹下的文件,再删该文件)
* a1.txt
* a2.txt
* aaaa
*
* b1.txt
* b2.txt
* bbbb
*
* demo
*
* -----------------------------------------------------------------------------------
* 分析:
* A:封装目录
* B:获取该目录下的所有文件或者文件夹的File数组
* C:遍历该File数组,得到每一个File对象
* D:判断该File对象是否是文件夹
* 是:回到B
* 否:就删除
*/
public class FileDeleteDemo {
public static void main(String[] args) {
// 封装目录
File srcFolder = new File("demo");
// 递归实现
deleteFolder(srcFolder);
} private static void deleteFolder(File srcFolder) {
// 获取该目录下的所有文件或者文件夹的File数组
File[] fileArray = srcFolder.listFiles();
if (fileArray != null) {
// 遍历该File数组,得到每一个File对象
for (File file : fileArray) {
// 判断该File对象是否是文件夹
if (file.isDirectory()) {
//回到B,继续执行(递归)
deleteFolder(file);
} else {
//打印删除了的文件
System.out.println(file.getName() + "---" +file.delete());
}
}
//打印删除的文件夹(先删除该文件夹下的文件,再删除文件夹)
System.out.println(srcFolder.getName() + "---" + srcFolder.delete());
}
}
}
IO流-递归删除带内容的目录的更多相关文章
- Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例
1. 需求:递归删除带内容的目录 分析: (1)封装目录 (2)获取该目录下的所有文件或者文件夹的File数组 (3)遍历该File数组,得到每一个File对象 (4)判断该File对 ...
- IO流(8)递归删除带文件的目录
递归删除带内容的目录 * * 目录给定:demo * * 分析: * A:封装目录 * B:获取该目录下的所有文件或者文件夹的File数组 * C:遍历该File数组,得到每一个File对象 * D: ...
- java基础知识回顾之javaIO类--File类应用:删除带内容的目录
/** * 深度删除一个带内容的目录 * 原理:必须从里往外删除,需要深度遍历 * @author Administrator * */ public class FileDeleteList { / ...
- Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte
File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...
- File类_删除一个带内容的目录_练习
需求:删除一个带内容的目录 原理:必须从最里面往外删除需要深度遍历 import java.io.File; public class RemoveDirTest { public static vo ...
- 15.io流,递归
一.file的常用api 二.算法:递归1.定义:递归算法是把问题转化为规模缩小了的同类问题的子问题.然后递归调用函数(或过程)来表示问题的解.一个过程(或函数)直接或间接调用自己本身,这种过程(或函 ...
- Java第三阶段学习(二、IO流--------递归,字节流Stream)
一.递归 定义:指方法在方法内调用自己 适用于方法的运算主体不变,但运行的时候,参与运算的方法参数会变化注意:一定要给递归一个出口,否则内存溢出 练习题1:使用递归打印文件夹中所有的文件,包含子目录中 ...
- IO流——递归(输出所有文件)
package pers.zbb.File; import java.io.File; public class FileDemo { public static void main(String[] ...
- java IO流实现删除文件夹以及文件夹中的内容
这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调 ...
随机推荐
- sicily 1231. The Embarrassed Cryptography
Time Limit: 2sec Memory Limit:32MB Description The young and very promising cryptographer Odd Ev ...
- Python基础:内置异常(未完待续)
本文根据Python 3.6.5的官文Built-in Exceptions编写,不会很详细,仅对Python的内置异常进行简单(重难点)介绍——很多异常都可以从名称判断出其意义,罗列所有的内置异常. ...
- Python基础(1):dir(),help()
Python:3.6.4 开始编写Python程序了...可是,某个模块怎么用呢?模块里的函数怎么用呢?...使用本文介绍的dir().help()两个帮助函数可以 获得绝大部分开发所需要的信息! d ...
- linux文件处理
取中间的行数作为train.txt sed -n '1000000,170910580p' train.txt > trainv1.txt 取前面的行数作为dev.txt head -10000 ...
- docker修改docker0 mtu
由于docker宿主机设置了mtu造成docker镜像中mtu和宿主机mtu不匹配,大包后网络不同.所以需要设置docker0的mtu. 1.修改docker.service vi /usr/lib/ ...
- Jquery获取radio单选按钮的value与后面的文字
一组单选按钮如图: <input name="classId" value="8afa94f45ba3e2c1015ba3fac6c00000" type ...
- Zookeeper介绍及安装部署
本节内容: Zookeeper介绍 Zookeeper特点 Zookeeper应用场景 用到了Zookeeper的一些系统 Zookeeper集群安装部署 一.Zookeeper介绍 是一个针对大型分 ...
- 12 打印1到最大的n位数
输入数字 n,按顺序打印出从 1 最大的 n 位十进制数.比如输入 3,则打印出 1.2.3 一直到最大的 3 位数即 999.由于 n 可能会非常大,因此不能直接用 int 表示数字,而是用 cha ...
- Git github webhook 自动更新/部署代码 php自动更新脚本
这几天尝试了利用github的webhook,当代码更新到github,我们的测试服务器自动更新最新的gitbub仓库代码. 先列几个大概步骤,有时间再补充详细 1 . 服务器生成ssh key,一般 ...
- Windows10怎么架设局域网DNS服务器?
已采纳 需要安装Windows组件进行设置.最好是安装服务器版本的Windows. 1. 安装DNS服务 开始—〉设置—〉控制面板—〉添加/删除程序—〉添加/删除Windows组件—〉“网络服务”—〉 ...