是否可以获取文件的扩展名,但是当您指定扩展名以外的整个路径时?例如:
C:\用户\管理员\图片\ BlueHillsTest
由于
答案 0 :(得分:14)
Directory.GetFiles
将允许您为要搜索的文件指定通配符:
System.IO.Directory.GetFiles(@"C:\temp\py\", "test.*")
对我来说,返回一个包含3个匹配项的数组。我期待一个数组,因为该目录包含test.cover
,test.py
和test.pyc
。
如果我使用First
扩展方法:
System.IO.Directory.GetFiles(@"C:\temp\py\", "test.*").First()
然后它只返回第一个结果(test.cover
)。
但是,使用Single
扩展方法:
System.IO.Directory.GetFiles(@"C:\temp\py\", "test.*").Single()
引发InvalidOperationException
因为“序列包含多个元素”(这可能是您想要的,具体取决于您的具体情况)。
但如果我尝试
System.IO.Directory.GetFiles(@"C:\temp\py\", "step.*").Single()
然后我得到step.py
(没有异常),因为那是该目录中唯一匹配step.*
的文件。
答案 1 :(得分:2)
不可能,因为您可能在此位置同时拥有BlueHillsTest.xxx
和BlueHillsTest.yyy
。在这种情况下,您希望返回哪一个?