java 删除目录下所有文件_Java删除文件、目录及目录下所有文件的方法实例

前言

本文主要实现的功能是删除某个目录及目录下的所有子目录和文件,涉及到的知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除。

具体代码示例如下:

import java.io.File;

public class DeleteDirectory {

/**

* 删除空目录

* @param dir 将要删除的目录路径

*/

private static void doDeleteEmptyDir(String dir) {

boolean success = (new File(dir)).delete();

if (success) {

System.out.println("Successfully deleted empty directory: " + dir);

} else {

System.out.println("Failed to delete empty directory: " + dir);

}

}

/**

* 递归删除目录下的所有文件及子目录下所有文件

* @param dir 将要删除的文件目录

* @return boolean Returns "true" if all deletions were successful.

* If a deletion fails, the method stops attempting to

* delete and returns "false".

*/

private static boolean deleteDir(File dir) {

if (dir.isDirectory()) {

String[] children = dir.list();

//递归删除目录中的子目录下

for (int i=0; i

boolean success = deleteDir(new File(dir, children[i]));

if (!success) {

return false;

}

}

}

// 目录此时为空,可以删除

return dir.delete();

}

/**

*测试

*/

public static void main(String[] args) {

doDeleteEmptyDir("new_dir1");

String newDir2 = "new_dir2";

boolean success = deleteDir(new File(newDir2));

if (success) {

System.out.println("Successfully deleted populated directory: " + newDir2);

} else {

System.out.println("Failed to delete populated directory: " + newDir2);

}

}

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 根据掩码位计算可用ip地址_变长子网掩码:轻松分配IP地址(下)

Hello,World.如约而至土土来更文咯[吐舌]图1首先先揭晓一下上一篇文章的答案那就是192.168.1.0/24与192.168.2.0/24不能ping通192.168.1.0/16与192.168.2.0/16能ping通图2还记得土土的提示吗?网络号相同则能够ping通那么根据/24可以看出这两个IP地址有24个网络号,即…

edittext实现自动查询,刷新listview

mEdittextqueryvalue.addTextChangedListener(new TextWatcher() {Overridepublic void onTextChanged(CharSequence s, int start, int before,int count) {/** 从本地数据库查询 */query s.toString(); //s是edittext编辑的内容isaddfalse;pageindex0;refreshView(type, que…

java rsaprivatekey_用ssh-keygen生成的公钥和私钥如何在java中转为RSAPublicKey和RSAPrivateKey...

公钥和私钥是用"ssh-keygen -t rsa"生成的,我把生成的公钥以字符串的形式传入下面的函数(从网上找的)就会报错。public static PublicKey string2PublicKey(String pubStr) throws Exception{ByteBuffer byteBuffer ByteBuffer.wrap(Base64.getDecoder().…

python字典中的值只能是字符串类型_python字典key不能是可以是啥类型

python中字典的key不能是可变类型。字典可存储任意类型对象,其中值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。语法格式:【d {key1 : value1, key2 : value2}】。字典是另一种可变容器模型,且可存…

conda指定路径_导出不带前缀变量的conda环境,该变量显示executab的本地路径

为了在我的团队中提高可重复性,我在新创建的存储库中导出了一个conda环境文件,该存储库运行conda env export > environment.yml。在我的想法是让我的同事下载repo并运行conda env create -f environment.yml并准备好使用代码。在然而,我的…

未定义函数或变量_变量提升:JavaScript是顺序执行,为什么变量在定义之前执行不会报错而是报Underfined...

showName() console.log(myname) var myname hhh function showName() {console.log(函数showName被执行); }按照JavaScript 是按顺序执行的逻辑来理解的话,当执行到第 1 行的时候,由于函数 showName 还没有定义,所以执行应该会报错&#xf…

html背景图片大小控制

背景图尺寸(数值表示方式): #background-size{ background-size:200px 100px; } 背景图尺寸(百分比表示方式): #background-size{ background-size:30% 60%; } 背景图尺寸(等比扩展图片来填满元素,即cover值): #background-size{ …

java break递归_【Java】递归总结

摘要:大师 L. Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归。毋庸置疑地,递归确实是一个奇妙的思维方式。对一些简单的递归问题,我们总是惊叹于递归描述问…

python3 urllib3文档_python urllib3

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

[翻译] RDVTabBarController

RDVTabBarController https://github.com/robbdimitrov/RDVTabBarController 效果: Supports iPad and iPhone 支持iPad与iPhoneSupports landscape and portrait orientations 支持横竖屏切换动画Can be used inside UINavigationController 可以用在UINavigationC…

C# 通过ImportNode AppendChild方法合并XmlDocument,XML转为DataTable

C# 通过ImportNode AppendChild方法合并XmlDocument,XML转为DataTable var doc1 new XmlDocument(); var doc2 new XmlDocument();XmlNode root1 doc1.DocumentElement;doc2.Load(new XmlNodeReader(myXmlNode2));foreach (XmlNode node in doc2.DocumentElement…

内存位置访问无效 midas.dll_java并发之内存模型

作者:killianxu来源:https://www.cnblogs.com/killianxu/p/11665903.htmljava内存模型知识导图一 并发问题及含义并发编程存在原子性、可见性、有序性问题。原子性即一系列操作要么都执行,要么都不执行。 可见性,一个线程对共享变量的修改&am…

java 字符串指定编码输出_java对字符的编码处理

在java应用软件中,会有多处涉及到字符集编码,有些地方需要进行正确的设置,有些地方需要进行一定程度的处理。1. getBytes(charset)这是java字符串处理的一个标准函数,其作用是将字符串所表示的字符按照charset编码,并以…

python访问数据库如何解决高并发_使用 Python 和 Oracle 数据库实现高并发性

随着趋势发展的核心转向更多而不是更快发展,最大限度地提高并发性的重要性日益凸显。并发性使得编程模式发生了新的转变,可以编写异步代码,从而将多个任务分散到一组线程或进程中并行工作。如果您不是编程新手并且很熟悉 C 或 C,您…

过长内容分成了多次发送 问题 LengthFieldBasedFrameDecoder使用

这个问题比较常见,在高并发大数据传输时数据分包接收会乱 在org.jboss.netty.handler.codec.frame包中,有LengthFieldBasedFrameDecoder类用来解析带有长度属性的包,只要我们在传输协议中加入包的总长度就行了(也许有更好的方法&a…

java为什么需要枚举_java – 什么是枚举,为什么它们有用?

当变量(特别是方法参数)只能从一组可能的值中取出一个时,应该总是使用枚举。示例将是类型常量(合同状态:“永久”,“临时”,“学徒”)或标志(“立即执行”,“延迟执行”)。如果使用枚举而不是整数(或字符串代码)&#…

python args kw_Python基础-参数魔法,*args,**kwags

最近在带着新成员一起学习《Python基础教程》这本书,看到参数魔法的时候突然感觉好多术语真的不知道呀~Python参数:位置参数,关键字参数经常看Python我们肯定经常看见,下面类似这样的代码def add(x,y):return xy# 1add(1,2)# 2add(x1,y2)上面的两段代码结…

程序一旦发觉写得不理想,那就得重构它

早上有写一篇《设计模式--建造者(Builder)模式》http://www.cnblogs.com/insus/p/4179620.html。是在ASP.NET环境中,应用与演示设计模式(Builder)。现在Insus.NET从博文中最后的下载链接下载取源程序,它是有写得不够理想,现在重构它。问题点&…

java爬小说_java爬虫实战开发小说网站

用Java做一个自己的小说网站共10课,教程完结,带完整依赖jar。【课程内容】第一课更新:本教程要求:有一定Java开发基础有一点网页开发基础开发环境:JDK1.7及以上MavenEclipseTomcat7及以上第二课更新:1.为原…

python画多边形_python – 使用matplotlib更有效地绘制多边形

您可以考虑创建多边形的集合而不是单个多边形。举个例子:import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.collections import PolyCollectionimport matplotlib as mpl# Generate data. In this case, well make a bunch of center-points and …