全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java非递归实现删除任意目录的方法

最近在学C#的文件系统, 发现C#的文件系统貌似比java的东西少一点, 居然连删除目录都直接做好封装了, 想到学java的时候还要自己写递归删除, 好像没写过非递归的,就在网上查了下, 关于非递归删除目录代码没几个, 我就写了一个,递归网上一大堆, 就不粘上来了. 下面是代码非递归的方法:

package demo1;

import java.io.File;
import java.util.ArrayList;

public class Demo1 {
 /**
  * 不使用递归删除目录
  * @param args
  */
 public static void main(String[] args) {
  deleteDirectory("E:\\test");
 }
 
 public static void deleteDirectory(String rootPath) {
  //fileList模拟的是一个队列
  ArrayList<File> fileList = new ArrayList<File>();//存储文件和直接子目录包含文件的目录
  //directoryList模拟的是一个栈
  ArrayList<File> directoryList = new ArrayList<File>();//存储直接子目录不包含文件的目录 
  File root = new File(rootPath);
  if(!root.exists()){
   System.out.println("您输入的不是目录");
   return;
  }
  if(root.isFile()){
   root.delete();
   System.out.println("您输入的是文件,已删除成功");
   return;
  }
  fileList.add(0, root);//第一次入队列
  
  while(fileList.size() > 0) {
   File dir = fileList.remove(0);//模拟一个出队列的过程
   File[] files = dir.listFiles();
   for (int i = 0; i < files.length; i++) {
    if(files[i].isFile()) files[i].delete();
    else fileList.add(files[i]);//模拟一个入队列的过程
   }
   directoryList.add(dir);//模拟一个压栈的过程
  }
  //倒序遍历,模拟一个弹粘的过程
  for (int i = directoryList.size() - 1; i >= 0; i--) {
   directoryList.get(i).delete();
  }
  if(!root.exists()){
   System.out.println("您输入的是文件夹,已刪除成功");
  }
 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java非递归删除任意目录  # java递归删除任意目录  # java删除任意目录  # Java基于循环递归回溯实现八皇后问题算法示例  # Java递归读取文件例子_动力节点Java学院整理  # 全排列算法-递归与字典序的实现方法(Java)  # Java递归算法详解(动力节点整理)  # java高效打印一个二维数组的实例(不用递归  # 不用两个for循环)  # Java递归方法求5!的实现代码  # Java递归算法经典实例(经典兔子问题)  # Java使用递归解决算法问题的实例讲解  # Java递归遍历树形结构的实现代码  # Java 跳出递归循环问题解决办法  # 递归  # 的是  # 文件系统  # 几个  # 我就  # 来了  # 就在  # 就不  # 遍历  # 网上  # 写了  # 装了  # 写过  # 大家多多  # 不包含  # 粘上  # ArrayList  # File  # util  # static 


相关文章: 如何在阿里云购买域名并搭建网站?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  建站主机如何选?性能与价格怎样平衡?  简历在线制作网站免费版,如何创建个人简历?  在线制作视频的网站有哪些,电脑如何制作视频短片?  魔方云NAT建站如何实现端口转发?  建站主机功能解析:服务器选择与快速搭建指南  建站之星如何保障用户数据免受黑客入侵?  建站VPS推荐:2025年高性能服务器配置指南  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  广平建站公司哪家专业可靠?如何选择?  网站网页制作专业公司,怎样制作自己的网页?  ui设计制作网站有哪些,手机UI设计网址吗?  如何零基础在云服务器搭建WordPress站点?  网站制作服务平台,有什么网站可以发布本地服务信息?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  如何选择高性价比服务器搭建个人网站?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何通过万网虚拟主机快速搭建网站?  建站主机选虚拟主机还是云服务器更好?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  中山网站制作网页,中山新生登记系统登记流程?  如何安全更换建站之星模板并保留数据?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  微信推文制作网站有哪些,怎么做微信推文,急?  定制建站流程解析:需求评估与SEO优化功能开发指南  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何快速建站并高效导出源代码?  如何在宝塔面板中修改默认建站目录?  如何解决VPS建站LNMP环境配置常见问题?  香港服务器选型指南:免备案配置与高效建站方案解析  建站主机核心功能解析:服务器选择与网站搭建流程指南  大连网站制作公司哪家好一点,大连买房网站哪个好?  公司网站制作价格怎么算,公司办个官网需要多少钱?  学校为何禁止电信移动建设网站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  深入理解Android中的xmlns:tools属性  如何挑选优质建站一级代理提升网站排名?  建站之星好吗?新手能否轻松上手建站?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  ,制作一个手机app网站要多少钱?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  网站制作新手教程,新手建设一个网站需要注意些什么?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  黑客入侵网站服务器的常见手法有哪些?  网站制作软件有哪些,制图软件有哪些?  宁波自助建站系统如何快速打造专业企业网站?  如何设置并定期更换建站之星安全管理员密码? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。