全网整合营销服务商

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

免费咨询热线: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 


相关文章: 陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  太平洋网站制作公司,网络用语太平洋是什么意思?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  如何通过免费商城建站系统源码自定义网站主题与功能?  C++中引用和指针有什么区别?(代码说明)  简单实现Android验证码  建站之星如何配置系统实现高效建站?  如何用5美元大硬盘VPS安全高效搭建个人网站?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  常州企业建站如何选择最佳模板?  ,柠檬视频怎样兑换vip?  中山网站制作网页,中山新生登记系统登记流程?  如何在企业微信快速生成手机电脑官网?  javascript基本数据类型及类型检测常用方法小结  山东云建站价格为何差异显著?  如何登录建站主机?访问步骤全解析  建站之星代理平台如何选择最佳方案?  深圳网站制作平台,深圳市做网站好的公司有哪些?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  jQuery 常见小例汇总  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  ,巨量百应是干嘛的?  想学网站制作怎么学,建立一个网站要花费多少?  网站制作公司,橙子建站是合法的吗?  独立制作一个网站多少钱,建立网站需要花多少钱?  山东网站制作公司有哪些,山东大源集团官网?  英语简历制作免费网站推荐,如何将简历翻译成英文?  动图在线制作网站有哪些,滑动动图图集怎么做?  ,网站推广常用方法?  建站之星后台密码遗忘如何找回?  建站之星2.7模板:企业网站建设与h5定制设计专题  宝塔面板如何快速创建新站点?  建站主机选哪家性价比最高?  如何在万网自助建站中设置域名及备案?  焦点电影公司作品,电影焦点结局是什么?  定制建站流程步骤详解:一站式方案设计与开发指南  大连 网站制作,大连天途有线官网?  浅谈Javascript中的Label语句  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何在IIS7上新建站点并设置安全权限?  网站制作壁纸教程视频,电脑壁纸网站?  如何在腾讯云服务器快速搭建个人网站?  如何选择高效便捷的WAP商城建站系统?  Android使用GridView实现日历的简单功能 

您的项目需求

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