通過java遞迴思想實現以樹形方式展現出該目錄中的所有子目錄和檔案
當初在開始接觸Java時 學習File部分的一個小練習 挺有意思
一開始是通過看 北京聖思園 張龍老師的視訊開始學校java的,必須強烈推薦,真很棒。
功能實現:主要實現以樹形方式展現出該目錄中的所有子目錄和檔案。 另外, 在展現的時候將目錄排在上面,檔案排在下面。每一層要加上縮排。 檔案是jre6資料夾,我想這資料夾就不用我說什麼了。換上自己的檔案路徑就可以了。
- import java.io.File;
- public class FileTest2
- {
- public static int count = 0;
- public static void parse(File[] files)
- {
- if(files.length == 0)
- {
- FileTest2.count--;
- System.out.println();
- return;
- }
- else
- {
- for(File f : files)
- {
- if(f.isDirectory())
- {
- FileTest2.count++;
- for(int i = 1; i <= FileTest2.count; i++)
- {
- System.out.print("\t");
- }
- System.out.println(f.getName());
- File[] files2 = f.listFiles();
- FileTest2.parse(files2);
- }
- }
- for(File f : files)
- {
- if(!f.isDirectory())
- {
- for(int i = 0; i <= FileTest2.count; i++)
- {
- System.out.print("\t");
- }
- System.out.println(f.getName());
- }
- }
- FileTest2.count--;
- }
- }
- public static void main(String[] args)
- {
- File file = new File("C:\\Program Files\\Java\\jre6");
- File[] files = file.listFiles();
- FileTest2.parse(files);
- }
- }
- **************************第二種****************************************
-
1 /* 2 使用遞迴找出某目錄("C:\\JavaProducts")下的所有子目錄以及子檔案 3 */ 4 5 import java.util.*; 6 import java.io.*; 7 8 public class FileRecursionPrintDemo{ 9 public static void main(String[] args){ 10 List<String> paths = new ArrayList<String>(); 11 paths = getAllFilePaths(new File("C:\\JavaProducts"),paths); 12 for(String path:paths){ 13 System.out.println(path); 14 } 15 } 16 17 private static List<String> getAllFilePaths(File filePath,List<String> filePaths){ 18 File[] files = filePath.listFiles(); 19 if(files == null){ 20 return filePaths; 21 } 22 for(File f:files){ 23 if(f.isDirectory()){ 24 filePaths.add(f.getPath()); 25 getAllFilePaths(f,filePaths); 26 }else{ 27 filePaths.add(f.getPath()); 28 } 29 } 30 return filePaths; 31 } 32 }
相關推薦
通過java遞迴思想實現以樹形方式展現出該目錄中的所有子目錄和檔案
當初在開始接觸Java時 學習File部分的一個小練習 挺有意思 一開始是通過看 北京聖思園 張龍老師的視訊開始學校java的,必須強烈推薦,真很棒。 功能實現:主要實現以樹形方式展現出該目錄中的所有子目錄和檔案。 另外, 在展現的時候將目錄排在上面,檔案排在下面。每一層要加上縮排。 檔案是jre6資料
Java遞迴發實現Fibonacci數列,尾遞迴實現Fibonacci數列,並獲取計算所需時間
遞迴法計算Fibonacci數列: 它可以遞迴地定義為: 第n個Fibonacci數列可遞迴地計算如下: int fibonacci(int n) { if (n <= 1) return 1; return fibon
sql with as 遞迴的實現(樹形結構)
WITH AS短語,也叫做子查詢部分(subquery factoring),定義一個sql 片段,改sql 片段會被整個sql語句用到。其中最實用的功能就是資料的遞迴,遞迴的原理:遞迴包括至少兩個查詢,一個查詢作為遞迴的基點也就是起點,另一個查詢作為遞迴的成員。 一、定義一個
Java遞迴思想倒置陣列
public class ReverseArry { public static void main(String[] args){ int[] arr = {1,2,3,4,5,6,7,8,9}; //System.out.println(arr.l
java遞迴,實現求全排列
有1~n的n個整數,現要求打印出這n個數的所有可能的排列。比如 1 、2、3的全排列: 1, 2, 3 1, 3, 2 2, 1, 3 2, 3, 1 3, 1, 2 3, 2
Java遞迴思想分析
先舉個例子:定義一個 sumByMax(int max)方法,求 1+…+max 的和 這個例子簡單的來講就是將1到max的所有整數都加起來,如果先不考慮用遞迴,那麼這就是一個個重複的累加步驟可以用迴圈來解決: public int sumByMax(int
Java遞迴應用:輸出樹形選單
樹節點類:package cn.com.tree; public class Node { private Integer id; private Integer parentId; priv
java 遞迴動態實現左側導航欄
之前專案中是使用的最多兩級選單,所以當時寫的是兩個for 迴圈,一旦多層選單,維護起來就麻煩,所以今天使用遞迴實現導航欄動態生成。在這裡主要java 後臺程式碼,以及簡單js 遞迴後臺json 資料。資料庫就沒有在這裡設計。1、Menu實體類package c
[Linux C]遞迴遍歷指定目錄下的子目錄和檔案
/* 功能:演示了在Linux下利用C語言遞迴遍歷指定目錄下的子目錄(不含隱藏目錄)和檔案 */ #include <stdio.h> #include <dirent.h> #include <string.h> void List
Java——打印出指定目錄中所有的檔案 ,包括子資料夾中的所有檔案
import java.io.File; // 打印出指定目錄中所有的檔案 ,包括子資料夾中的所有檔案 //遍歷檔案下所有的檔案 public class FileDemo { public static void main(String[] args) { File f
Java遞迴實現圍棋提子思想
在製作圍棋遊戲的時候 一般來說會有兩個問題 圍棋提子的演算法思想 Ai走子的演算法思想 由於ai走子的演算法思想確實太過於難了,牽扯到深度學習的東西 這裡就不進行闡述了 畢竟我也根本不會 我將闡述的是圍棋提子的思想 我是使用遞迴的思想來解決的
JAVA——遞迴實現n的階乘
n的階乘的演算法:n*(n-1)*(n-2)… *1 例如5的階乘為:5 * 4 *3 * 2 * 1 程式碼如下: //遞迴實現n的階乘 import java.util.Scanner; public class Factorial1{ //實現階乘的方法——使用遞迴 //要接收一
Java:利用遞迴方法實現角谷定理
問題描述: 角谷定理。輸入一個自然數,若為偶數,則把它除以2,若為奇數,則把它乘以3加1。經過如此有限次運算後,總可以得到自然數值1。求經過多少次可得到自然數1。 如:輸入22, 輸出 22 11 34 17 52 26 1
平衡二叉樹的java遞迴實現
平衡二叉樹的操作難點在於如何調整平衡,根據情況可以分為LL、RR、LR、RL旋轉四種方法,這是java的遞迴版本,後面打算用非遞迴實現一下,此部落格是根據部落格:http://blog.csdn.net/javazejian整理而成,原部落格圖文並茂,應該是花了不少心思研究,講得也非常詳細,特此整理
java 遞迴實現迴圈比賽日程
在java實現迴圈比賽日程的程式中,主要運用的思想就是分治法。 分治法:通俗的理解就是在實際需要解決的問題當中,將大的問題分成小的問題,逐次分割,直到達到容易解決的範圍。然後再將分割的小域的解按一定規律組合在一起成為“母”
Java遞迴拼接json樹形結構
最近在專案開發過程中遇到一個問題,前臺需要用到echarts元件中的旭日圖來顯示層級關係,這就需要我將後臺Sql查詢出來的json陣列拼接成多級巢狀的樹形結構返回前臺 ,類似於 而我從資料庫中查出來的資料時這樣的: {"prog_level_id_1":"5","
java遞迴實現商品分類例子
在對商品進行分類時,類別表會出現父節點 遞迴查詢本節點的id及孩子節點的id /** * 遞迴查詢本節點的id及孩子節點的id * @param categoryId* @return*/public ServerResponse<List<Integer
Java利用遞迴演算法實現24點遊戲
24點遊戲 經典的紙牌益智遊戲,常見遊戲規則: 從撲克中每次取出4張牌。使用加減乘除,第一個能得出24者為贏。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求程式設計解決24點遊戲。 基本要求: 隨機生成4個代表撲克牌牌面
java 遞迴查詢樹形選單結構(個人認為是最簡單的)
/** * 獲取無限級的類別資源 */ @Override public List<Object> findTypeTree() throws BusinessException
Java排序演算法(三)--歸併排序(MergeSort)遞迴與非遞迴的實現
歸併有遞迴和非遞迴兩種。 歸併的思想是: 1.將原陣列首先進行兩個元素為一組的排序,然後合併為四個一組,八個一組,直至合併整個陣列; 2.合併兩個子陣列的時候,需要藉助一個臨時陣列,用來存放當前的