📜  读取文件夹 c# (1)

📅  最后修改于: 2023-12-03 15:41:47.442000             🧑  作者: Mango

读取文件夹 C#

在开发过程中,我们经常需要读取文件夹中的文件或子文件夹,C#提供了多种读取文件夹的方法。在本篇文章中,我们将介绍如何在C#中读取文件夹及其子文件夹。

使用Directory类读取文件夹

C#提供了Directory类来读取文件夹,它包含了许多用于读取目录和文件的方法。

以下是使用Directory类读取文件夹及其子文件夹的示例代码:

using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // 文件夹路径
        string folderPath = @"C:\example";
  
        // 获取文件夹中文件的路径
        string[] files = Directory.GetFiles(folderPath, "*.*", SearchOption.TopDirectoryOnly);

        // 获取文件夹中子文件夹的路径
        string[] directories = Directory.GetDirectories(folderPath);

        // 打印文件路径
        foreach (string file in files)
        {
            Console.WriteLine(file);
        }

        // 打印子文件夹路径
        foreach (string directory in directories)
        {
            Console.WriteLine(directory);
        }
    }
}
  • GetFiles方法用于获取文件夹中所有文件的路径。接收三个参数:文件夹路径、搜索匹配项和搜索选项。搜索匹配项中的“.”表示搜索所有文件。
  • GetDirectories方法用于获取文件夹中所有子文件夹的路径。接收一个参数:文件夹路径。
  • SearchOption.TopDirectoryOnly选项表示只搜索当前目录,不搜索子目录。
使用DriveInfo和DirectoryInfo类读取文件夹

C#还提供了DriveInfo和DirectoryInfo类来读取文件夹。

以下是使用DriveInfo和DirectoryInfo类读取文件夹及其子文件夹的示例代码:

using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // 文件夹路径
        string folderPath = @"C:\example";

        // 获取驱动器信息
        DriveInfo drive = new DriveInfo(Path.GetPathRoot(folderPath));

        // 获取文件夹信息
        DirectoryInfo directory = new DirectoryInfo(folderPath);

        // 获取文件夹中文件的路径
        FileInfo[] files = directory.GetFiles("*.*", SearchOption.TopDirectoryOnly);

        // 获取文件夹中子文件夹的路径
        DirectoryInfo[] directories = directory.GetDirectories();

        // 打印驱动器信息
        Console.WriteLine(drive.Name);
        Console.WriteLine(drive.DriveFormat);
        Console.WriteLine(drive.TotalSize);

        // 打印文件路径
        foreach (FileInfo file in files)
        {
            Console.WriteLine(file.FullName);
        }

        // 打印子文件夹路径
        foreach (DirectoryInfo dir in directories)
        {
            Console.WriteLine(dir.FullName);
        }
    }
}
  • DriveInfo类用于获取驱动器信息,可以通过Path类的GetPathRoot方法获取文件夹所在驱动器的根目录。
  • DirectoryInfo类用于获取文件夹信息,接收一个参数:文件夹路径。
  • GetFiles方法用于获取文件夹中所有文件信息。接收两个参数:搜索匹配项和搜索选项。
  • GetDirectories方法用于获取文件夹中所有子文件夹信息。无需参数。
总结

本文介绍了如何使用C#读取文件夹及其子文件夹,包括使用Directory类、DriveInfo类和DirectoryInfo类三种方式。开发者可以根据自己的需求选择最适合的方法。