在 C# 中获取目录中的所有文件名

  1. 使用 C# 中的 Directory.GetFiles() 方法获取目录中的所有文件名
  2. 在 C# 中使用 DirectoryInfo.GetFiles() 方法获取目录中的所有文件名

本教程将讨论获取 C# 中特定目录内所有文件的文件名的方法。

兔女中国十二生肖 Rw
兔女中国十二生肖 Rw

使用 C# 中的 Directory.GetFiles() 方法获取目录中的所有文件名

C# 中的 Directory.GetFiles() 方法获取特定目录中所有文件的名称。Directory.GetFiles() 方法返回一个字符串数组,其中包含方法参数中指定的目录内所有文件的绝对路径。请参见以下示例。

using System;
using System.IO;

namespace get_all_files
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] files = Directory.GetFiles(@"C:\File", "*.txt");
            foreach (var file in files)
            {
                Console.WriteLine(file);
            }
        }
    }
}

输出:

C:\File\file.txt
C:\File\file1.txt

在上面的代码中,我们使用 C# 中的 Directory.GetFiles() 方法提取了目录 C:\File 中带有 .txt 扩展名的所有文件的名称。

Directory.GetFiles() 方法可用于多种目的。例如,以下代码示例为我们提供了所有文件的名称,无论它们在 C# 中的文件扩展名如何。

using System;
using System.IO;

namespace get_all_files
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] files = Directory.GetFiles(@"C:\File");
            foreach (var file in files)
            {
                Console.WriteLine(file);
            }
        }
    }
}

输出:

C:\File\file.txt
C:\File\file1.txt
C:\File\readme.md

我们还可以使用 Directory.GetFiles() 方法获取任何子目录中包含的所有文件的文件名。请参见以下示例。

using System;
using System.IO;

namespace get_all_files
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] files = Directory.GetFiles(@"C:\File", "*.txt", SearchOption.AllDirectories);
            foreach (var file in files)
            {
                Console.WriteLine(file);
            }
        }
    }
}

输出:

C:\File\file.txt
C:\File\file1.txt
C:\File\subFile\file3.txt
C:\File\subFile\file4.txt

在上面的代码中,我们在 C# 中使用 Directory.GetFiles() 方法提取了 C:\File 目录的所有子目录中所有带有 .txt 扩展名的文件的文件名。

在 C# 中使用 DirectoryInfo.GetFiles() 方法获取目录中的所有文件名

DirectoryInfo.GetFiles() 方法获取 C# 中指定目录内的文件。DirectoryInfo.GetFiles() 方法返回 FileInfo 类对象的数组,其中包含有关方法参数内指定的目录中所有文件的信息。我们可以使用 FileInfo.Name 属性获得文件的名称。以下代码示例向我们展示了如何使用 C# 中的 DirectoryInfo.GetFiles() 方法获取指定目录内文件的文件名。

using System;
using System.IO;

namespace get_all_files
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\File");
            FileInfo[] files = di.GetFiles("*.txt");
            string str = "";
            foreach (FileInfo file in files)
            {
                Console.WriteLine(file.Name);
            }
        }
    }
}

输出:

file.txt
file1.txt

在上面的代码中,我们使用 C# 中的 DirectoryInfo.GetFiles() 方法提取了 C:\File 目录中所有带有 .txt 扩展名的文件的文件名。我们还可以使用 DirectoryInfo.GetFiles() 方法中的 SearchOption.AllDirectories 参数来获取所有子目录中所有文件的名称。同时,我们也可以通过在 DirectoryInfo.GetFiles() 方法中不指定任何文件扩展名来获得所有文件名,而不管文件扩展名如何。以前的方法与该方法之间的唯一区别是,Directory.GetFiles() 方法为我们提供了文件的完整绝对路径。相反,DirectoryInfo.GetFiles() 方法仅为我们提供所有文件的名称。

相关文章 - Csharp File

  • C# 中从路径获取文件名
  • 如何在 C# 中从一个 URL 下载文件
  • 如何在 C# 中重命名文件
  • C# 逐行读取文本文件