簡體   English   中英

C#從目錄中讀取文件夾(名稱)

[英]C# read folder (names) from directory

我有這個代碼:

        string directory;
        FolderBrowserDialog fbd = new FolderBrowserDialog();
        if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            directory = fbd.SelectedPath;

            txtSource.Text = directory;

            DirectoryInfo d = new DirectoryInfo(directory);
            FileInfo[] Files = d.GetFiles();

            List<String> str = new List<string>();
            foreach (FileInfo file in Files)
            {
                str.Add(file.Name);
            }
        }

我有一個FolderBrowseDialog ,我在其中選擇文件夾的路徑。 在此選定文件夾中有3個其他文件夾。 我想讀出這些文件夾的名稱。 我不想知道或讀出文件的名稱。

您可以使用Directory.GetDirectories()

string[] subdirs = Directory.GetDirectories(fbd.SelectedPath);

這為您提供了子目錄的完整路徑。 如果您只需要子文件夾的名稱,而不是完整路徑,則可以使用Path.GetFileName()

string[] subdirs = Directory.GetDirectories(fbd.SelectedPath)
                            .Select(Path.GetFileName)
                            .ToArray();

或者如果你想要兩個:

var subdirs = Directory.GetDirectories(fbd.SelectedPath)
                            .Select(p => new {
                                Path = p,
                                Name = Path.GetFileName(p)})
                            .ToArray();

您需要使用DirectoryInfo.GetDirectories

using System;
using System.IO;

public class GetDirectoriesTest 
{
    public static void Main() 
    {

        // Make a reference to a directory.
        DirectoryInfo di = new DirectoryInfo("c:\\");

        // Get a reference to each directory in that directory.
        DirectoryInfo[] diArr = di.GetDirectories();

        // Display the names of the directories.
        foreach (DirectoryInfo dri in diArr)
            Console.WriteLine(dri.Name);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM