在C#中搜索文件的路径

时间:2011-01-29 16:53:30

标签: c# search

我需要访问在%temp%目录中随机位置创建的文件,例如在以下路径:

%temp%/[FSF480-3R3RC3-RDDWW-32FDF-3FD3E-]/files/test.txt

有人可以告诉我如何搜索,并返回“test.txt”的路径,以便我可以打开它来读取数据吗?

感谢。

3 个答案:

答案 0 :(得分:3)

Directory.EnumerateFiles将允许您搜索与特定路径下的模式匹配的文件,可选择搜索子目录。链接的MSDN页面显示用法。

非常相似的问题here,建议将Directory.GetFiles与递归选项一起使用。

Directory.GetFiles(Path.GetTempPath(), "test.txt", SearchOption.AllDirectories) 

如果您搜索的结果很少,请使用GetFiles()EnumerateFiles()如果您搜索的内容很多。

  

EnumerateFiles和GetFiles   方法的不同之处如下:当你   使用EnumerateFiles,你就可以开始了   枚举名称集合   在整个收藏之前   回;当你使用GetFiles时,你   必须等待整个名字   在您可以访问之前返回   数组。因此,当你是   使用许多文件和   目录,EnumerateFiles可以   效率更高。

答案 1 :(得分:0)

您可以先使用Directory.GetDirectories通过目录树进行递归搜索,然后Directory.GetFiles列出每个文件中的文件。

这应该允许您找到该文件。

请参阅Microsoft支持网站上的this walkthrough

答案 2 :(得分:0)

GetCreationTime方法还可以帮助你在使用GetDirectories后确定正确的文件夹(参见Oded的帖子) - 我不知道你是否有关于目录名的任何信息,如果你这样做,它可能是很好地结合使用它们。