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

时间:2014-12-30 07:17:28

标签: c#

我正在尝试获取名称文件" fileName.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));
        }
    }
}

3 个答案:

答案 0 :(得分:1)

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

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

此方法的输入应为目录!

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

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

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

解决方案:

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
}