iT邦幫忙

0

C# 列出目錄及檔案 建議使用哪個類別或方法呢?

各位大大好,小弟剛開始接觸C#

想問下,如果我已經使用

/*選擇輸入資料夾路徑 (FolderBrowserDialog)*/
FolderBrowserDialog path = new FolderBrowserDialog();
path.ShowDialog();
String String_IN_PATH = path.SelectedPath;
this.Text_IN_PATH.Text = String_IN_PATH

並且可以從path.SelectedPath;屬性中取得選擇的位置
請問...建議用哪個類別或方法?
1.如果我要列出,String_IN_PATH(下稱主目錄)內有哪些子目錄(包含目錄中的目錄)
2.如果我要列出,主目錄內有那些檔案
3.如果我要列出,主目錄及子目錄內有那些指定副檔名的檔案.txt
4.如果我要列出,主目錄上一層內有那些檔案

新手上路,請多指教

2 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2020-03-13 09:57:09
最佳解答
lazywayne iT邦新手 5 級 ‧ 2020-03-13 11:47:19 檢舉

謝謝~

0
YoChen
iT邦新手 1 級 ‧ 2020-03-13 10:36:38

您可以參考DirectoryInfo類別
內容寫得滿詳細的,我簡單幫你歸類一下,剩下的進階功能就給你自己實作囉~XDDD

如果我要列出,String_IN_PATH(下稱主目錄)內有哪些子目錄(包含目錄中的目錄)

DirectoryInfo directoryInfo = new DirectoryInfo(_YourPath);
// GetDirectories: 傳回目前目錄的子目錄
var subDirectoryInfos = directoryInfo.GetDirectories();

foreach (var subDirectoryInfo in subDirectoryInfos)
{
    // Name: 資料夾名稱
    Console.WriteLine(subDirectoryInfo.Name);
    // FullName: 資料夾路徑
    Console.WriteLine(subDirectoryInfo.FullName);
}
// 子目錄依此類推

如果我要列出,主目錄內有那些檔案

DirectoryInfo directoryInfo = new DirectoryInfo(_YourPath);
// GetFiles: 從目前的目錄傳回檔案清單
var directoryFiles = directoryInfo.GetFiles();

foreach (var file in directoryFiles)
{
    // Name: 檔案名稱
    Console.WriteLine(file.Name);
}

如果我要列出,主目錄及子目錄內有那些指定副檔名的檔案.txt

DirectoryInfo directoryInfo = new DirectoryInfo(_YourPath);
// GetFiles(string searchPattern): 加入指定的Pattern,比對檔案名稱
var directoryFiles = directoryInfo.GetFiles("*.txt");

foreach (var file in directoryFiles)
{
    // Name: 檔案名稱
    Console.WriteLine(file.Name);
}
// 子目錄依此類推

如果我要列出,主目錄上一層內有那些檔案

DirectoryInfo directoryInfo = new DirectoryInfo(_YourPath);
// Parent: 取得指定子目錄的父代 (Parent) 目錄的DirectoryInfo
var parentDirectoryInfo = directoryInfo.Parent;
// 後續作法如前幾項
lazywayne iT邦新手 5 級 ‧ 2020-03-13 10:53:51 檢舉

感謝大大,速速來實驗~

lazywayne iT邦新手 5 級 ‧ 2020-03-13 11:43:42 檢舉

這個要
using System.IO;

我要發表回答

立即登入回答