1. 程式人生 > >用巢狀遞迴的方法搜尋指定目錄下的所有檔案

用巢狀遞迴的方法搜尋指定目錄下的所有檔案

        在File類的IO操作過程中,常常要檢視指定目錄下的檔案,無論是資料夾還是檔名,這裡我們希望能搜尋指定目錄下的所有檔案。

        具體的方法時採用函式的巢狀呼叫的方法。

step 1:建立一個方法seeFile

step 2:判斷當前的檔案不為空

step 3:判斷當前檔案是否為資料夾,如果不是,直接列印。如果是資料夾,用一個FIle資料取出所有當前資料夾的所有檔案File.listFile 

step 4:對File陣列中的每個檔名遞迴呼叫該方法(seeFile)方法

public class Test {
	public static void main(String[] args) {
		String fileName = "E:"+File.separator;
		File f = new File(fileName);
		print(f);
	}

	private static void print(File f) {
		if(f != null){
			if(f.isDirectory()){
				File[] list = f.listFiles();
				if(list != null){
					for(int i=0; i<list.length; i++){
						print(list[i]);
					}
				}
				
			}
			else{
				System.out.println(f);
			}
		}
	}
}


相關推薦

--- 遍歷指定目錄所有檔案

A、如果該檔案目錄下全是檔案(非資料夾),那很理想,直接列印絕對路徑(file.getAbsolutePath())就完成任務 B、重點在於如果該檔案目錄下有的是檔案,有的是資料夾(子資料夾)

方法搜尋指定目錄所有檔案

        在File類的IO操作過程中,常常要檢視指定目錄下的檔案,無論是資料夾還是檔名,這裡我們希望能搜尋指定目錄下的所有檔案。         具體的方法時採用函式的巢狀呼叫的方法。 step 1:建立一個方法seeFile step 2:判斷當前的檔案不為空

linux c語言遍歷資料夾所有檔案和子資料夾(附上替換文字檔案內容的方法)

#include <stdio.h> #include <sys/dir.h> #include <string> #include <sys/stat.h> //判斷是否為資料夾 bool isDir(const cha

[Linux C]遍歷指定目錄的子目錄和檔案

/* 功能:演示了在Linux下利用C語言遞迴遍歷指定目錄下的子目錄(不含隱藏目錄)和檔案 */ #include <stdio.h> #include <dirent.h> #include <string.h> void List

遍歷資料夾所有檔案

遞迴遍歷資料夾下所有檔案 程式碼塊 遞迴遍歷資料夾下所有檔案 package com.chow; import java.io.File; import java.util.ArrayList; /** * Created by zhouhaiming on 20

FindFirstFile和FindNextFile函式歷遍指定目錄所有檔案

本文利用FindFirstFile(),FindNextFile()函式歷遍指定目錄的所有檔案,最基礎的歷遍所有檔案。一下程式碼尚無法解決檔名為中文時的亂碼問題,以及無法分別無後綴的檔名和資料夾名的區別。http://blog.csdn.net/u012005313/article/details/464

windows API遍歷資料夾所有檔案

1.網上有些程式碼有問題,改進如下 #include <stdio.h> #include<windows.h> #include<iostream> #inclu

perl 地遍歷目錄檔案

#!/usr/bin/perl -w use strict; use File::Spec; local $\ ="\n";#當前模組的每行輸出加入換行符 my %options;

使用wget下載指定目錄所有檔案-Windows

wget是一個從網路上自動下載檔案的自由工具,支援通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。wget名稱的由來是“World Wide Web”與“get”的結合。 Linux系統中的wget是一個下載檔案的工具

dos批處理:列出指定目錄所有檔案

@echo off echo 請輸入目錄名: set/p xxx= >nul echo 正在執行,請稍等... dir /s/b %xxx% > c:\檔名.txt echo 執行完成,獲

java程式 一次改變指定目錄所有檔案編碼(包括子目錄中的檔案

package transCoding; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInpu

使用sh指令碼如何替換指定目錄所有檔案中的指定字串

我想要使用sh指令碼替換一個目錄下面的所有檔案的內容如下:例如檔案中有一行內容“#!/export/home/wyf/tool/bin/ruby”我想要把“tool/bin/ruby”之前的內容替換成當

linux使用c語言刪除指定目錄所有檔案

http://blog.csdn.net/gitar520/article/details/7582727 我一直以為使用c提供的方法可以跨越平臺,但無疑我是錯的,上次寫的刪除檔案所使用的兩個api——_findfirst和_findnext無法在gcc下使用,但linux

java 獲取指定目錄所有檔案的名稱

需要將檔名稱及路徑存到資料庫中 String path ="/db/java/Data3/"; StringBuffer str = new StringBuffer(""); File

MongoDB學習筆記~大叔框架實體更新支援N層~我愛你!

回到目錄 遞迴遞迴我愛你!只要你想做,就一定能成功! 從一到二,從二到三,它是容易的,也是沒什麼可搞的,或者說,它是一種流水線的方式,而從三到十,從十到百,它註定要有一個質的突破,否則,它會把你累死,程式碼寫的讓你自己都覺得想吐!有時,我們是被逼出來的,對於一種功能的實現,我們有時需要有從三到十的態度中,

列印指定路徑所有檔案內容到指定檔案

# -*- coding: utf-8 -*- """遞迴列印指定路徑下所有檔案 Usage: printDirectory <printFilePath> <saveFilePath> """ from docopt import docopt imp

計算指定目錄檔案檔案總個數,並封裝為ztree物件資料

最近參與的專案要求將指定目錄下的檔案及檔案個數通過遞迴演算法計算出來,並封裝轉換為前端ztree格式物件顯示結果。後臺主要邏輯實現,提供資料和資料模型,前端轉換封裝需要的物件資料格式。部分程式碼下面貼出來,僅供參考,請多指正! 一、controller程式碼: L

Python遍歷目錄所有檔案查詢指定檔案

之前看到網上有人說『os.path.isdir()判斷必須寫絕對路徑』,當時心想Python不是有迭代上下文嗎,為什麼不行?遂作本文驗證之 程式碼部分 考慮用一個path變數指代當前遍歷元素的絕對路徑(正確做法) def search(ro

獲取指定目錄所有指定格式的檔案

遞迴獲取目錄下所有的txt結尾的檔案的絕對路徑 package com; import java.io.File; /* * 把g:\java\JavaSE目錄下所有的txt結尾的檔案的絕對

php歸查找指定目錄及子文件名稱是否包含中文空格及括號

is_file match ket bracket != col turn print read 1 //php遞歸查找該目錄下及子文件名稱是否包含中文空格括號 2 function searchDir($path,&$data){ 3 if(is_