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

java 對文件夾目錄進行深度遍歷實例代碼

 更新時間:2017年03月08日 10:02:46   投稿:lqh  
這篇文章主要介紹了java 對文件夾目錄進行深度遍歷實例代碼的相關資料,需要的朋友可以參考下

java 對文件夾目錄進行深度遍歷實例代碼

1、題目

對指定目錄進行所有內容的列出(包含子目錄中的內容),也可以理解為對目錄進行深度遍歷。

2、解題思想

從電腦中獲取文件目錄,建立函數對其遍歷,在這個函數中需要對該目錄中的每個文件進行判斷,如果文件還是目錄,則調用函數本身繼續(xù)對其進行遍歷,如果文件不是目錄,則直接輸出文件名。為了加強顯示的效果,我們還可以建立一個getSpace函數,對其進行縮進。

需要注意的是,不要直接遍歷C盤的內容,其目錄層次太深,含有太多的系統(tǒng)級文件,容易返回為空,導致空指針異常的發(fā)生,也不要直接遍歷D盤,因為只要其含有隱藏的系統(tǒng)卷標目錄,也會造成空指針異常的發(fā)生。

3、Java代碼

import java.io.File;
public class DepthTraversal {
  public static void main(String[] args) {
    File dir = new File("d:\\BaiduYunDownload");
    listAll(dir, 0);
  }

  public static void listAll(File dir, int level) {
    System.out.println(getSpace(level) + dir.getName());
    level++; //每調用一次,level加1
    File[] files = dir.listFiles(); //獲取指定目錄下當前的所有文件夾或者文件對象
    for (int x = 0; x < files.length; x++) { //循環(huán)遍歷
      if (files[x].isDirectory()) { //如果是目錄,繼續(xù)調用listAll函數
        listAll(files[x], level);
      } else { //否則,直接輸出文件名
        System.out.println(getSpace(level) + files[x].getName());
      }
    }
  }

  private static String getSpace(int level) { //輸出空格,加強顯示效果
    StringBuilder sb = new StringBuilder();
    sb.append("|--");
    for (int x = 0; x < level; x++) {
      sb.insert(0, "| ");
    }
    return sb.toString();
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • SpringBoot3.x中自定義開發(fā)通用SDK的實現

    SpringBoot3.x中自定義開發(fā)通用SDK的實現

    本文介紹了SpringBoot和Maven創(chuàng)建自定義的SDK,包括創(chuàng)建項目、修改配置、編寫配置類、設置配置文件、構建Jar包等,具有一定的參考價值,感興趣的可以了解一下
    2024-12-12
  • SpringBoot使用validation做參數校驗的實現步驟

    SpringBoot使用validation做參數校驗的實現步驟

    這篇文章主要介紹了SpringBoot使用validation做參數校驗的實現步驟,幫助大家更好的理解和學習使用SpringBoot,感興趣的朋友可以了解下
    2021-05-05
  • Maven2 plugin開發(fā)教程詳解

    Maven2 plugin開發(fā)教程詳解

    這篇文章主要為大家詳細介紹了Maven2 plugin的開發(fā)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringBoot配置mybatis駝峰命名規(guī)則自動轉換的實現

    SpringBoot配置mybatis駝峰命名規(guī)則自動轉換的實現

    這篇文章主要介紹了SpringBoot配置mybatis駝峰命名規(guī)則自動轉換的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • java swing實現簡單計算器界面

    java swing實現簡單計算器界面

    這篇文章主要為大家詳細介紹了java swing實現簡單計算器界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Java中的synchronized關鍵字

    Java中的synchronized關鍵字

    這篇文章主要介紹了Java中的synchronized關鍵字,synchronized可以保證方法或代碼塊在運行時,同一時刻只有一個線程可以進入到臨界區(qū)(互斥性),同時它還保證了共享變量的內存可見性,下面我們就來看看你文章對synchronized鎖的介紹,需要的朋友也可以參考一下
    2021-12-12
  • spring boot udp或者tcp接收數據的實例詳解

    spring boot udp或者tcp接收數據的實例詳解

    這篇文章主要介紹了spring boot udp或者tcp接收數據,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • 利用Spring Validation實現輸入驗證功能

    利用Spring Validation實現輸入驗證功能

    這篇文章主要給大家介紹了如何利用Spring Validation完美的實現輸入驗證功能,文中有詳細的代碼示例,具有一定的參考價值,感興趣的朋友可以借鑒一下
    2023-06-06
  • 從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率

    從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率

    這篇文章主要介紹了從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Java使用Calendar類實現動態(tài)日歷

    Java使用Calendar類實現動態(tài)日歷

    這篇文章主要為大家詳細介紹了Java使用Calendar類實現動態(tài)日歷,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評論

长垣县| 宿州市| 岑巩县| 略阳县| 什邡市| 北宁市| 沾化县| 垦利县| 赫章县| 罗定市| 巴马| 衡东县| 津市市| 东兰县| 祁连县| 龙游县| 白玉县| 广水市| 沅陵县| 将乐县| 澜沧| 松原市| 金塔县| 长白| 康保县| 邵东县| 永济市| 金川县| 盐津县| 朝阳县| 梁平县| 吉木萨尔县| 龙陵县| 运城市| 利辛县| 惠东县| 吴旗县| 兰溪市| 仁寿县| 淮南市| 莱西市|