欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

最近在學C#的文件系統(tǒng), 發(fā)現(xiàn)C#的文件系統(tǒng)貌似比java的東西少一點, 居然連刪除目錄都直接做好封裝了, 想到學java的時候還要自己寫遞歸刪除, 好像沒寫過非遞歸的,就在網(wǎng)上查了下, 關(guān)于非遞歸刪除目錄代碼沒幾個, 我就寫了一個,遞歸網(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模擬的是一個隊列
  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("您輸入的是文件夾,已刪除成功");
  }
 }

}

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

相關(guān)文章

  • Spring JPA 增加字段執(zhí)行異常問題及解決

    Spring JPA 增加字段執(zhí)行異常問題及解決

    這篇文章主要介紹了Spring JPA 增加字段執(zhí)行異常問題及解決,具有很好的參考價值,
    2022-06-06
  • Spring?Boot?多數(shù)據(jù)源處理事務(wù)的思路詳解

    Spring?Boot?多數(shù)據(jù)源處理事務(wù)的思路詳解

    這篇文章主要介紹了Spring?Boot?多數(shù)據(jù)源如何處理事務(wù),本文單純就是技術(shù)探討,要從實際應(yīng)用中來說的話,我并不建議這樣去玩分布式事務(wù)、也不建議這樣去玩多數(shù)據(jù)源,畢竟分布式事務(wù)主要還是用在微服務(wù)場景下,對Spring?Boot?多數(shù)據(jù)源事務(wù)相關(guān)知識感興趣的朋友參考下本文
    2022-06-06
  • java生成圖片驗證碼示例代碼

    java生成圖片驗證碼示例代碼

    這篇文章主要為大家詳細介紹了java生成圖片驗證碼示例代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Java elasticsearch安裝以及部署教程

    Java elasticsearch安裝以及部署教程

    這篇文章主要介紹了elasticsearch安裝以及部署教程,內(nèi)涵詳細的圖文展示與案例介紹,能夠幫助你從0成功部署這個框架,需要的朋友可以參考下
    2021-06-06
  • Maven項src/main/java目錄下配置文件無法被導出或者生效的問題和處理方案

    Maven項src/main/java目錄下配置文件無法被導出或者生效的問題和處理方案

    這篇文章主要介紹了Maven項src/main/java目錄下配置文件無法被導出或者生效的問題和處理方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • java對同一個文件進行讀寫操作方法

    java對同一個文件進行讀寫操作方法

    在本篇文章里我們給大家詳細講述了java對同一個文件進行讀寫操作的方法和知識點,需要的朋友們可以參考學習下。
    2018-10-10
  • java中多線程與線程池的基本使用方法

    java中多線程與線程池的基本使用方法

    在Java中,我們可以利用多線程來最大化地壓榨CPU多核計算的能力,下面這篇文章主要給大家介紹了關(guān)于java中多線程與線程池基本使用的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Kotlin 語言中調(diào)用 JavaScript 方法實例詳解

    Kotlin 語言中調(diào)用 JavaScript 方法實例詳解

    這篇文章主要介紹了Kotlin 語言中調(diào)用 JavaScript 方法實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Java雙向鏈表倒置功能實現(xiàn)過程解析

    Java雙向鏈表倒置功能實現(xiàn)過程解析

    這篇文章主要介紹了Java雙向鏈表倒置功能實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java Clone(類的復制)實例代碼

    Java Clone(類的復制)實例代碼

    Java Clone(類的復制)實例代碼,需要的朋友可以參考一下
    2013-03-03

最新評論