java目录删除_java删除文件及目录[通俗易懂]

java目录删除_java删除文件及目录[通俗易懂]java中删除目录事先要删除目录下的文件或子目录。用递归就可以实现。publicvoiddel(Stringfilepath)throwsIOException{Filef=newFile(filepath);//定义文件路径if(f.exists()&&f.isDirectory()){//判断是文件还是目录if(f.listFiles().length==…

大家好,又见面了,我是你们的朋友全栈君。

java中删除目录事先要删除目录下的文件或子目录。用递归就可以实现。

public void del(String filepath) throws IOException{

File f = new File(filepath);//定义文件路径

if(f.exists() && f.isDirectory()){//判断是文件还是目录

if(f.listFiles().length==0){//若目录下没有文件则直接删除

f.delete();

}else{//若有则把文件放进数组,并判断是否有下级目录

File delFile[]=f.listFiles();

int i =f.listFiles().length;

for(int j=0;j

if(delFile[j].isDirectory()){

del(delFile[j].getAbsolutePath());//递归调用del方法并取得子目录路径

}

delFile[j].delete();//删除文件

}

}

del(filepath);//递归调用

}

}

—————————————————————————————————————-

删除一个非空目录并不是简单地创建一个文件对象,然后再调用delete()就可以完成的。要在平台无关的方式下安全地删除一个非空目录,你还需要一个算法。该算法首先删除文件,然后再从目录树的底部由下至上地删除其中所有的目录。

只要简单地在目录中循环查找文件,再调用delete就可以清除目录中的所有文件:

static public void emptyDirectory(File directory) {

File[ ] entries = directory.listFiles( );

for(int i=0; i

entries[i].delete( );

}

}

这个简单的方法也可以用来删除整个目录结构。当在循环中遇到一个目录时它就递归调用deleteDirectory,而且它也会检查传入的参数是否是一个真正的目录。最后,它将删除作为参数传入的整个目录。

static public void deleteDirectory(File dir) throws IOException {

if( (dir == null) || !dir.isDirectory) {

throw new IllegalArgumentException(

“Argument “+dir+” is not a directory. “

);

}

File[ ] entries = dir.listFiles( );

int sz = entries.length;

for(int i=0; i

if(entries[i].isDirectory( )) {

deleteDirectory(entries[i]);

} else {

entries[i].delete( );

}

}

dir.delete();

}

在Java 1.1以及一些J2ME/PersonalJava的变种中没有File.listFiles方法。所以只能用File.list,它的返回值一个字符串数组,你要为每个字符串构造一个新的文件对象。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135280.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java分割字符串

    Java分割字符串java中按某个标识符分割字符串的方法如下:Scannerscanner=newScanner(System.in);Stringsource=scanner.next();String[]sourceArray=source.split(“/”);for(inti=0;i<sourceArray.length;i++){System.out.println(sour

    2022年9月26日
    2
  • java打印菱形思路[通俗易懂]

    java打印菱形思路[通俗易懂]总共2个大的for循环  里边有小的对吧第一个大的for是打印菱形的上半部分for(i=1;i  { 这个小的for是打印每一行前边的空格   for(j=1;j   System.out.print(“”); 这个是打印星星的   for(j=1;j   System.out.print(“*”); 这个是打印完一行的换行  S

    2022年9月29日
    3
  • java贪吃蛇源码

    java贪吃蛇源码java是一种面向对象的语言,有着其中不用质疑的优点。学习java将近三个月了,一直在琢磨着“万物皆对象”的意义,却总是只知其表不知其意,做完这个java贪吃蛇后才有了那么一点的理解。直接上效果图。游戏分为了六个类,分别为:Node类:蛇身都是由一个一个节点组成,所以首先将节点抽象为一个类。Snake类:此类是一条蛇抽象出来的一个类。一种包含了存储节点的LinkedList类型…

    2022年5月9日
    54
  • 微型计算机的主要因素,微型计算机的性能主要取决于( )。

    微型计算机的主要因素,微型计算机的性能主要取决于( )。【单选题】运用移动平均线研判股价趋势时,股价在一段时间下跌后,若短期均线开始上翘,继而穿越长期均线,形成:【单选题】在完成高度保密和紧急任务时往往不适用的领导方式是()【判断题】汽油和柴油发动机的负荷特性区别在于调节方式不同,汽油机属于质调节,柴油机属于量调节【判断题】为了让烙铁头充分接触焊点,焊接时可适当施加压力。【单选题】按构成空间视线限制的方向性可将植物构成空间分为水平空间和()…

    2022年6月28日
    27
  • 【Python爬虫Scrapy框架】一、Scrapy爬虫框架的入门案例「建议收藏」

    【Python爬虫Scrapy框架】一、Scrapy爬虫框架的入门案例「建议收藏」Scrapy爬虫框架的入门案例,感受一下Scrapy的强大之处。

    2022年6月26日
    25
  • k8s(六)k8s生命周期和调度[通俗易懂]

    k8s(六)k8s生命周期和调度[通俗易懂]k8s概述创建和终止初始化容器钩子函数容器探测重启策略概述• 我们一般将Pod对象从创建到终止的这段时间范围称为Pod的生命周期,它主要包含下面的过程:Pod创建过程。运行初始化容器(init container)过程。运行主容器(main container):容器启动后钩子(post start)、容器终止前钩子(pre stop)。容器的存活性探测(liveness probe)、就绪性探测(readiness probe)。Pod终止过程。在整个生命周期中,Pod会出

    2022年8月9日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号