程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java遍歷輸入指定目次、樹形構造一切文件包含子目次下的文件

Java遍歷輸入指定目次、樹形構造一切文件包含子目次下的文件

編輯:關於JAVA

Java遍歷輸入指定目次、樹形構造一切文件包含子目次下的文件。本站提示廣大學習愛好者:(Java遍歷輸入指定目次、樹形構造一切文件包含子目次下的文件)文章只能為提供參考,不一定能成為您想要的結果。以下是Java遍歷輸入指定目次、樹形構造一切文件包含子目次下的文件正文


上面經由過程一段代碼引見下Java輸入指定目次、樹形構造下的一切文件包含子目次中的文件的辦法,並附有用果圖。


import java.io.File;
 public class ReadDirectory {
  // 文件地點的層數
  private int fileLevel;
  /**
  * 生成輸入格局
  * @param name 輸入的文件名或目次名
  * @param level 輸入的文件名或許目次名地點的條理
  * @return 輸入的字符串
  */
  public String createPrintStr(String name, int level) {
   // 輸入的前綴
   String printStr = "";
   // 按條理停止縮進
   for (int i = ; i < level; i ++) {
    printStr = printStr + " ";
   }
   printStr = printStr + "- " + name;
   return printStr;
  }
  /**
  * 輸入初始給定的目次
  * @param dirPath 給定的目次
  */
  public void printDir(String dirPath){
   // 將給定的目次停止朋分
   String[] dirNameList = dirPath.split("\\\\");
   // 設定文件level的base
   fileLevel = dirNameList.length;
   // 按格局輸入
   for (int i = ; i < dirNameList.length; i ++) {
    System.out.println(createPrintStr(dirNameList[i], i));
   }
  }
  /**
  * 輸入給定目次下的文件,包含子目次中的文件
  * @param dirPath 給定的目次
  */
  public void readFile(String dirPath) {
   // 樹立以後目次中文件的File對象
   File file = new File(dirPath);
   // 獲得代表目次中一切文件的File對象數組
   File[] list = file.listFiles();
   // 遍歷file數組
   for (int i = ; i < list.length; i++) {
    if (list.isDirectory()) {
     System.out.println(createPrintStr(list.getName(), fileLevel));
     fileLevel ++;
     // 遞歸子目次
     readFile(list.getPath());
     fileLevel --;
    } else {
     System.out.println(createPrintStr(list.getName(), fileLevel));
    }
   }
  }
  public static void main(String[] args) {
   ReadDirectory rd = new ReadDirectory();
   String dirPath = "D:\\有道辭書";
   rd.printDir(dirPath);
   rd.readFile(dirPath);
  }
 }

輸入成果以下:

以上就是本文的全體內容,願望年夜家愛好。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved