如何使用 Directory.Getfile 在 C# 中获取具有所需名称的文件

本文关键字:文件 获取 Directory 何使用 Getfile | 更新日期: 2023-09-27 18:35:35

我正在尝试从指定路径的目录中获取名称为"文件名.wav"的文件,我无法获得所需的功能..在这方面的任何帮助都值得赞赏。

static void Main(string[] args)
{
    string[] fileEntries = Directory.GetFiles(
        @"D:'project'Benten_lat'BentenPj_000_20141124_final'Testing'DPCPlus'Ref'Generated_Ref_Outputs_MSVS", "*.wav");
    foreach (string fileName in fileEntries)
    {
        string[] fileEntries1 = Directory.GetFiles(
            @"D:'project'older versions'dpc_latest'Testing'DPCPlus'input");
        foreach (string  fileName1 in fileEntries1)
        {
            Console.WriteLine(Path.GetFileName(fileName1));
        }
    }
}

如何使用 Directory.Getfile 在 C# 中获取具有所需名称的文件

此代码将从文件夹中搜索abCd名称匹配的所有.xml扩展文件C:''SomeDir''

string cCId ="abCd";
DirectoryInfo di = new DirectoryInfo("C:''SomeDir''");
FileInfo[] orderFiles = di.GetFiles("*" + cCId + "*.xml", SearchOption.TopDirectoryOnly);

您应该根据需要更改此代码。希望这对你有帮助。

如果要

从文件路径中提取名称和扩展名,可以使用以下代码:

string result = Path.GetFileName(yourFilePath); // result will be filename.wav

您不能对文件路径使用GetFiles方法!

Directory.GetFiles(@"D:'project'Benten_lat'BentenPj_000_20141124_final'Testing'DPCPlus'Ref'Generated_Ref_Outputs_MSVS'filename.wav") //Error

此方法的输入应为目录!

基于您的问题的假设(如果我错了,请纠正我):

  • 您知道文件夹(例如,用户输入了它)
  • 您知道文件名(例如,它是硬编码的,因为它必须始终相同)

在这种情况下,您实际上不需要搜索文件。

溶液:

string folderPath = @"D:'somewhere";
string fileName = "file.wav";
string filePath = Path.Combine(folderPath, fileName);
if (File.Exists(filePath))
{
    // continue reading the file, etc.
}
else
{
    // handle file not found
}