java代碼實現目錄結構


今天用java代碼來實現。像我們電腦盤符那樣的目錄結構。在代碼開始之前首先。介紹一下。用。java代碼實現目錄的思想。

第一步:完成基礎的。大家想。我們是如何獲取文件的。是不是用File類,直接就獲取了。,獲取完以后我們就要猜想一下。下一個是文件內容還是目錄。

第二步:遍歷文件。找出誰是目錄誰是文件內容。此處的思維利用的是遞歸思想。(不過很消耗內容喲)。

第三步:完成以上兩步。我們打印出來就可以看到我們的文件了,但是,這個時候的文件,沒有層次感。沒有像我們電腦那樣的層次。並且。這個時候,你也不知道,誰是子文件,誰是並列文件。咋辦額呢。

第四步:完成層次感。利用的原理就是。添加空格字符串。其實就是,每遍歷一次,我就把這個地方記錄下來,標記起來。然后添加空格字符串。。這樣子就完成層次感了。

直接代碼走起。

package com.huojg.test.Test;

import java.io.File;

/*
 * 用java代碼實現樹狀目錄結構
 * 
 * **/
public class Tree {
private static int count=0;
    public static void main(String[] args) {
        //1.獲取目錄
        File file=new File("D:/登陸頁面");
        //8.把文件愛你作為參數進行遍歷
        market(file);
        
        
    }
    //2.判斷是目錄還是文件內容。
public static void market(File file){
    //7.否則把文件的你名字打印出來
    System.out.println(makeSpace(count)+"~*"+file.getName());//輸出位置也很重要,必須在頭部
    //3.獲取這個路徑的下所有的文件以及目錄
    File[] fil=file.listFiles();
    //4.判斷里面是目錄。使用遞歸繼續遍歷
    if(fil!=null&&fil.length>0){
        count++;//如果是目錄加1
        //5,說明是目錄利用遞歸繼續遍歷
        for(File fi:fil){
            market(fi);
        }
        count--;//上面遍歷加1以后還得退回來。繼續遍歷
    }
}

//6.讓目錄有層次感,必須有一個標記。
public static String  makeSpace(int count){
    //創建空格字符串
    String spack="";
    for(int i=0;i<count;i++){
        spack+="  ";
    }
    return spack;
}







}

結果;

~*登陸頁面
  ~*201404170927.rar
  ~*css
    ~*main.css
  ~*images
    ~*air-balloon-1.png
    ~*air-balloon-2.png
    ~*login-bg.jpg
    ~*login-foot.jpg
    ~*login.png
    ~*logo-login.png
  ~*index.html
  ~*js
    ~*DD_belatedPNG.js
    ~*fun.base.js
    ~*jQuery.js
    ~*script.js

哈哈哈、這就完成了,我們用java代碼來 遍歷目錄的效果。

 

不過里面需要注意的地方很多。尤其是count++與count- -這個地方的精華。理解起來也很簡單。count++就是,我們已經知道這一層是目錄需要,繼續遍歷。這個時候。遍歷完成以后我們就需要回到上一層。如果有就繼續,沒有就下一個。count -  -的用途就在這里。目的就是。遍歷完成以后返回上一層。繼續遍歷。牛逼吧。。、


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM