Java 之递归删除目录
Java 之递归删除目录
一、思想
必须从最里层的文件开始删除,使用递归删除。
二、源代码:RecursiveDeleteDirectory.java
package cn.com.zfc.day016; import java.io.File; /**
* @describe 递归删除目录
* @author zfc
* @date 2018年1月1日 上午8:44:55
*/
public class RecursiveDeleteDirectory { public static void main(String[] args) {
String directoryName = "F:\\大数据培训软件";
// 1、映射目录文件
File directory = new File(directoryName);
// 2、调用方法
recursiveDeleteDirectory(directory);
} /**
* 删除指定目录下面的文件名称,包括子目录
*
* @param directoryName:目录名称
* @author zfc
* @date 2018年1月1日上午8:46:08
*
*/
public static void recursiveDeleteDirectory(File directory) {
// 1、判断映射的目录文件是否存在?
if (!directory.exists()) {
// 不存在则直接返回
return;
}
// 2、判断是否是目录?
if (!directory.isDirectory()) {
// 不是目录,判断是否是文件?
if (directory.isFile()) {
System.out.println("是文件,文件绝对路径:" + directory.getAbsolutePath() + ",删除文件:" + directory.delete());
}
} else {
// 是目录,获取该目录下面的所有文件(包括目录)
File[] files = directory.listFiles();
// 判断 files 是否为空?
if (null != files) {
// 遍历文件数组
for (File f : files) {
// 判断是否是目录?
if (f.isDirectory()) {
// 是目录,则递归目录
recursiveDeleteDirectory(f);
} else {
// 不是目录,判断是否是文件?
if (f.isFile()) {
System.out.println("是文件,文件绝对路径:" + f.getAbsolutePath() + ",删除文件:" + f.delete());
}
}
}
}
System.out.println("是本次最外层目录,目录的绝对路径:" + directory.getAbsolutePath() + ",删除目录:" + directory.delete()); }
}
}
三、运行结果

Java 之递归删除目录的更多相关文章
- 使用Java语言递归删除目录下面产生的临时文件
背景:项目copy的过程中,在项目的目录文件夹下面都产生了一个固定的文件,很是讨厌.手动删除的话比较费力,所以写了一个简单的Java程序去删除: public static void main(Str ...
- 【Java】递归删除目录以及文件
public static void deleteDirectory(String path) { File pFile = new File(path); //若目录以及文件不存在,则终止继续执行方 ...
- Java实现非递归删除目录
最近在学C#的文件系统, 发现C#的文件系统貌似比java的东西少一点, 居然连删除目录都直接做好封装了, 想到学java的时候还要自己写递归删除, 好像没写过非递归的,就在网上查了下, 关于非递归删 ...
- java递归删除目录下所有内容
java递归删除目录下所有内容 private static boolean deleteDir(File dir) {if (dir.isDirectory()) { String[] ...
- 关于java的递归写法,经典的Fibonacci数的问题
经典的Fibonacci数的问题 主要想展示一下迭代与递归,以及尾递归的三种写法,以及他们各自的时间性能. public class Fibonacci { /*迭代*/ public static ...
- 自杀程序&递归删除目录
自杀程序,删掉自身,包括执行程序所在的文件夹. 仅在windows下进行了测试,使用语言C# string fileName = Path.GetTempPath() + "killmyse ...
- java 中递归的实现 以及利用递归方法实现汉诺塔
今天说下java语言中比较常见的一种方法,递归方法. 递归的定义 简单来说递归的方法就是"自己调用自己",通过递归方法往往可以将一个大问题简单化,最终压缩到一个易于处理的程度.对于 ...
- Java 之递归遍历目录
Java 之递归遍历目录 一.内容 输出指定目录(文件夹)下的所有文件(包括目录)的绝对路径 二.源代码:RecursiveListDirectory.java package cn.com.zfc. ...
- Java实现递归将嵌套Map里的字段名由驼峰转为下划线
摘要: 使用Java语言递归地将Map里的字段名由驼峰转下划线.通过此例可以学习如何递归地解析任意嵌套的List-Map容器结构. 难度:初级 概述 在进行多语言混合编程时,由于编程规范的不同, 有时 ...
随机推荐
- 如何在linux系统下配置无线网卡?【转】
转自:http://www.jb51.net/LINUXjishu/61315.html 本文介绍在Linux 命令行界面中手动配置无线网卡的方法.目前流行的多数发行版都支持用图形界面的network ...
- proc文件系统、sysfs文件系统、kobject操作
Proc文件系统是提供一个接口给用户,让用户可以查看系统运行的一些状态信息,让用户修改内核的一些参数,比方说printk的打印级别就可以通过proc去修改 Sysfs文件系统, Sysfs is a ...
- Class create, device create, device create file【转】
来自:http://www.hovercool.com/en/Class_create,_device_create,_device_create_file 开始写Linux设备驱动程序的时候,很多时 ...
- 边框回归(Bounding Box Regression)详解
原文地址:http://blog.csdn.net/zijin0802034/article/details/77685438 Bounding-Box regression 最近一直看检测有关的Pa ...
- Windows10 中在指定目录下启动Powershell
(1)首先进入该目录: (2)按住shift键,且同时在该目录空白处鼠标右击,打开右键菜单: (3)此时可以发现,在右键菜单中,多了一项,叫做[在此处打开Powershell窗口(s)],点击该项: ...
- 域名调整 SEO优化(nginx)
=============================================== 2019/3/31_第1次修改 ccb_warlock == ...
- 通用jsonp跨域技术获取天气数据
1. 前言 在进行网站开发的过程中经常会用到第三方的数据,但是由于同源策略的限制导致ajax不能发送请求,因此也无法获得数据.解决ajax的跨域问题可以使用jsonp技术 2.代码 <!DOCT ...
- 【前端】三个bug
目录 一.Array对象的indexOf() 二.使用jquery,clone()下拉框问题 三.jquery获取获取html5的data-*属性 一.Array对象的indexOf() 1.inde ...
- MVC,MVP和MVVM的区别
MVC 转载标名出处 dub 从这幅图可以看到,我们可以看到在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑. 在MVC模型 ...
- oracle进阶之connect by笔记
本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处. http://www.cnblogs.com/king-xg/p/6794562.html 如果觉得对您有帮 ...