最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java非遞歸實(shí)現(xiàn)刪除任意目錄的方法

 更新時(shí)間:2017年05月09日 11:21:28   作者:碼上猿夢  
這篇文章主要為大家詳細(xì)介紹了Java非遞歸實(shí)現(xiàn)刪除任意目錄的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近在學(xué)C#的文件系統(tǒng), 發(fā)現(xiàn)C#的文件系統(tǒng)貌似比java的東西少一點(diǎn), 居然連刪除目錄都直接做好封裝了, 想到學(xué)java的時(shí)候還要自己寫遞歸刪除, 好像沒寫過非遞歸的,就在網(wǎng)上查了下, 關(guān)于非遞歸刪除目錄代碼沒幾個(gè), 我就寫了一個(gè),遞歸網(wǎng)上一大堆, 就不粘上來了. 下面是代碼非遞歸的方法:

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模擬的是一個(gè)隊(duì)列
  ArrayList<File> fileList = new ArrayList<File>();//存儲(chǔ)文件和直接子目錄包含文件的目錄
  //directoryList模擬的是一個(gè)棧
  ArrayList<File> directoryList = new ArrayList<File>();//存儲(chǔ)直接子目錄不包含文件的目錄 
  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);//第一次入隊(duì)列
  
  while(fileList.size() > 0) {
   File dir = fileList.remove(0);//模擬一個(gè)出隊(duì)列的過程
   File[] files = dir.listFiles();
   for (int i = 0; i < files.length; i++) {
    if(files[i].isFile()) files[i].delete();
    else fileList.add(files[i]);//模擬一個(gè)入隊(duì)列的過程
   }
   directoryList.add(dir);//模擬一個(gè)壓棧的過程
  }
  //倒序遍歷,模擬一個(gè)彈粘的過程
  for (int i = directoryList.size() - 1; i >= 0; i--) {
   directoryList.get(i).delete();
  }
  if(!root.exists()){
   System.out.println("您輸入的是文件夾,已刪除成功");
  }
 }

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Jackson解析JSON的詳細(xì)實(shí)現(xiàn)教程

    利用Jackson解析JSON的詳細(xì)實(shí)現(xiàn)教程

    JSON對于開發(fā)者并不陌生,如今的WEB服務(wù)等都是以JSON作為數(shù)據(jù)交換的格式。學(xué)習(xí)JSON格式的操作工具對開發(fā)者來說是必不可少的。本文將介紹如何使用Jackson開源工具庫對JSON進(jìn)行常見操作,需要的可以參考一下
    2022-07-07
  • java支付寶即時(shí)到帳提交訂單功能

    java支付寶即時(shí)到帳提交訂單功能

    這篇文章主要為大家詳細(xì)介紹了java支付寶即時(shí)到帳提交訂單功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • java讀取cvs文件并導(dǎo)入數(shù)據(jù)庫

    java讀取cvs文件并導(dǎo)入數(shù)據(jù)庫

    這篇文章主要為大家詳細(xì)介紹了java讀取cvs文件并導(dǎo)入數(shù)據(jù)庫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java實(shí)現(xiàn)的爬蟲抓取圖片并保存操作示例

    Java實(shí)現(xiàn)的爬蟲抓取圖片并保存操作示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的爬蟲抓取圖片并保存操作,涉及Java針對頁面URL訪問、獲取、字符串匹配、文件下載等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • 基于spring?data?jpa?@query返回map的踩坑記錄

    基于spring?data?jpa?@query返回map的踩坑記錄

    這篇文章主要介紹了基于spring?data?jpa?@query返回map的踩坑記錄,具有很好的參考價(jià)值,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java利用SPI實(shí)現(xiàn)解耦的示例詳解

    Java利用SPI實(shí)現(xiàn)解耦的示例詳解

    SPI的全稱是服務(wù)提供接口,可以用其來啟動(dòng)框架的擴(kuò)展和替換組件。本文將利用SPI實(shí)現(xiàn)解耦,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-04-04
  • SpringMVC MVC架構(gòu)與Servlet使用詳解

    SpringMVC MVC架構(gòu)與Servlet使用詳解

    MVC設(shè)計(jì)模式一般指 MVC 框架,M(Model)指數(shù)據(jù)模型層,V(View)指視圖層,C(Controller)指控制層。使用 MVC 的目的是將 M 和 V 的實(shí)現(xiàn)代碼分離,使同一個(gè)程序可以有不同的表現(xiàn)形式。其中,View 的定義比較清晰,就是用戶界面
    2022-10-10
  • java后臺(tái)實(shí)現(xiàn)支付寶支付接口和支付寶訂單查詢接口(前端為APP)

    java后臺(tái)實(shí)現(xiàn)支付寶支付接口和支付寶訂單查詢接口(前端為APP)

    這篇文章主要介紹了java后臺(tái)實(shí)現(xiàn)支付寶支付接口和支付寶訂單查詢接口(前端為APP),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-08-08
  • SpringBoot中分頁插件PageHelper的使用詳解

    SpringBoot中分頁插件PageHelper的使用詳解

    分頁查詢是為了高效展示大量數(shù)據(jù),通過分頁將數(shù)據(jù)劃分為多個(gè)部分逐頁展示,原生方法需手動(dòng)計(jì)算數(shù)據(jù)起始行,而使用PageHelper插件則簡化這一過程,本文給大家介紹SpringBoot中分頁插件PageHelper的使用,感興趣的朋友一起看看吧
    2024-09-09
  • Java利用DOM解析XML的學(xué)習(xí)指南

    Java利用DOM解析XML的學(xué)習(xí)指南

    在Java中使用DOM解析XML文件是一個(gè)常見的操作,它允許你以編程方式讀取、修改和保存XML文檔的結(jié)構(gòu)和內(nèi)容,本文為大家介紹了具體的實(shí)現(xiàn)步驟,有需要的小伙伴可以參考下
    2025-04-04

最新評(píng)論

沙洋县| 珲春市| 清镇市| 乌什县| 德兴市| 盐亭县| 阜康市| 元朗区| 房产| 翁牛特旗| 南溪县| 锡林郭勒盟| 溧阳市| 陈巴尔虎旗| 进贤县| 嘉善县| 莆田市| 株洲县| 普宁市| 安溪县| 辉南县| 吉木萨尔县| 马公市| 贺兰县| 钟山县| 通许县| 托克托县| 北辰区| 青龙| 三原县| 高要市| 来安县| 浪卡子县| 临沧市| 宁阳县| 龙南县| 台南市| 十堰市| 右玉县| 安陆市| 弥渡县|