91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-24 11:19:42 來源:腳本之家 閱讀:124 作者:lqh 欄目:編程語言

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

1、題目

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

2、解題思想

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

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

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++) { //循環遍歷
      if (files[x].isDirectory()) { //如果是目錄,繼續調用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();
  }
}

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新田县| 郓城县| 锡林浩特市| 雅江县| 迭部县| 延安市| 洪湖市| 凉城县| 德昌县| 东山县| 雅江县| 台安县| 马龙县| 高清| 宁阳县| 凤庆县| 司法| 翁牛特旗| 琼结县| 敖汉旗| 扎兰屯市| 台州市| 五常市| 东港市| 宜昌市| 衡南县| 集安市| 固镇县| 手机| 尼玛县| 郁南县| 高唐县| 泽普县| 甘谷县| 常宁市| 临西县| 蕉岭县| 静乐县| 金阳县| 肥乡县| 余干县|