1. 程式人生 > >【Java程式設計】以樹狀結構輸出目錄

【Java程式設計】以樹狀結構輸出目錄

以樹狀結構輸出計算機某個指定資料夾下的所有的檔案和子資料夾名稱。

提示:使用File的方法,並結合遞迴實現

程式碼如下:

import java.io.File;

/**
 * 以樹狀結構輸出計算機某個指定資料夾下的所有的檔案和子資料夾名稱
 * 
 * @author FengYuan
 *
 */
public class Test {
	public static void main(String[] args) {
		Test t = new Test(); // new一個物件
		File f = new File("D:/MyFiles");// new一個檔案物件,路徑自定義但要注意斜槓
		t.bl(f, 0);// 呼叫方法
	}

	public void bl(File f, int lever) {
		// 判斷是否存在
		if (f.exists()) {
			// 判斷是否是第一級目錄
			if (lever == 0) {
				System.out.println(f.getName());// 一級目錄只打名稱
			} else {
				// 迴圈打空格
				for (int i = 0; i < lever; i++) {
					System.out.print(" ");
				}
				System.out.println("├" + f.getName()); // 二級目錄打識別符號├
			}
			// 判斷是不是目錄
			if (f.isDirectory()) {
				// 列出所有檔案及資料夾
				File[] fs = f.listFiles();
				// 判斷fs是否為空
				if (null != fs) {
					// 迴圈遞迴
					for (File s : fs) {
						bl(s, lever + 1);
					}
				}
			}
		}
	}
}


相關推薦

Java程式設計結構輸出目錄

以樹狀結構輸出計算機某個指定資料夾下的所有的檔案和子資料夾名稱。 提示:使用File的方法,並結合遞迴實現 程式碼如下: import java.io.File; /** * 以樹狀結構輸出計算機

Java程式設計寫入、讀取、遍歷Properties檔案

在Java開發中通常我們會儲存配置引數資訊到屬性檔案。這種屬性檔案能夠是擁有鍵值對的屬性檔案,也能夠是XML檔案。關於XML檔案的操作,請參考博文【Java程式設計】DOM XML Parser 解析、遍歷、建立XML。 在該篇博文中,我將展示怎樣向屬性檔案寫入鍵值對。怎樣讀取屬性檔案

Java 程式設計Java 開發實踐與經驗:BetterJava

文章目錄 1. 風格 2. 依賴注入 3. 避免使用 null 4. Immutable-by-default 5. 介面預設方法代替各種 util 類 6. Streams 7. 部署 8. Maven

104.JAVA程式設計Java虛擬機器

      棧是執行時的單位,而堆是儲存的單元。   棧解決程式的執行問題,即程式如何執行,或者說如何處理資料,堆解決的是資料儲存的問題,即資料怎麼放,放在哪兒。  

102.JAVA程式設計stream

public class TestStream { public static void main(String[] args) { List<People> list = createPeople(); Stream<People

101.JAVA程式設計反射

public class ReflectDemo { public static void main(String[] args)throws Exception { Class clazz = Class.forName("com.abyiyi.reflect.P

100.JAVA程式設計列舉詳解

列舉:是有界集合體 public class EnumDemo { enum SexEnum { MAN, WOMAN } public static void main(String[] args){ for(Se

JAVA程式設計--分散式鎖基礎

1.實現分散式鎖需要考慮的幾點: 1.1執行緒和鎖關係 拿最常用的互斥鎖來說 synchronized內建鎖是作用於物件,java中每個物件是唯一存在的, 每個物件的物件頭中包含獲取該物件鎖的執行緒ID,那就保證了執行緒對該物件鎖的唯一性。 ReentrantLock內含Syn

JAVA程式設計--程式碼優化細節

1.儘量指定類、方法的final修飾符 帶有final修飾符的類是不可派生的。在Java核心API中,有許多應用final的例子,例如java.lang.String,整個類都是final的。為類指定final修飾符可以讓類不可以被繼承,為方法指定final修飾符可以讓方法不可以

JAVA程式設計--類載入機制

Object 類的方法 --public Object clone() 需要事項cloneable介面 --public Boolean equal()比較物件 --public String toString() 物件轉化成字串 --public Long hashCode() 輸出

109.JAVA程式設計HashMap迴圈

1.鍵值都需要時使用 1.1鍵值都需要時使用 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Map.Entry<Integer, Integer> entry :

Java程式設計呼叫方法判斷一個數是否是素數

上次寫了素數的判斷,這次又寫了素數的判斷,但是這次做了一些改進,把判斷的程式寫到方法裡面,要使用的時候直接呼叫即可。 本次實現了 程式碼如下: public static boolean judgme

Java程式設計Java多執行緒的實現

多執行緒 程式:是一個指令的集合。 程序:正在執行中的程式,是一個靜態的概念。 執行緒:是程序中的一個單一的連續控制流程,執行緒又本稱為輕量級程序。 一個程序可擁有多個並行的執行緒,一個程序中的執行緒共享相同的記憶體單元,記憶體地址空間,可以訪問相同的變數和物件,而且他們從

Java程式設計可變引數寫法

當你在做專案時,有一個計算傳入引數的和,但引數多少不確定,面對這樣的情況要如何解決呢? 可變引數的寫法請參考下面的例子 package com.ycao.argsTest; public class VarArgs { public static void mai

Java程式設計DOM XML Parser解析、遍歷、建立XML

1、前言 DOM XML Parser介紹 DOM 是 W3C 處理 XML 的標準 API,它是許多其它與 XML 處理相關的標準的基礎,不僅是 Java,其它諸如 Javascript,PHP,MS .NET 等等語言都實現了該標準,成為了應用最為廣泛的 XML 處理方

java程式設計IO流之流操作物件

流操作物件的方法: ObjectInputStream和ObjectOutputStream兩個物件,用ObjectOutputStream儲存的物件只能用ObjectInputStream來進行讀取 Serializable序列化: 每個類在實現Serialiable序列

Java程式設計foreach支援集合、Collection、Iterable遍歷原因分析

1、Collection、AbstractCollection、Iterable關係 Iterator是一個介面 public interface Iterator<E> { boolean hasNext(); E next();

java程式設計Map集合之TreeMap按學生姓名進行升序排序

import java.util.*; /*要對鍵值對進行排序,只能用TreeMap來排序 HashMap底層是雜湊表,雜湊表是隨機的*/ class TreeMapDemo { public static void main(String[] args) {

Java 程式設計陣列初始化的多種方式

文章目錄 1 陣列定義與初始化基本方式 2 Array 工具類 3 Stream 方式 4 Arrays 1 陣列定義與初始化基本方式 陣列定義的兩種基本方式: int[][] a1; int a2[][]; 與C、

Java 程式設計函數語言程式設計一點通

文章目錄 1. 指令式程式設計 2. 宣告式程式設計 3. 函數語言程式設計 4. 函式介面 5. Built-in 函式介面 參考 https://developer.ibm.com/arti