获取文件扩展名而不在路径中提供扩展名
是否可以获取文件的扩展名,但是当您指定扩展名以外的整个路径时? 例如:
C:\用户\管理\图片\ BlueHillsTest
谢谢
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
因为“Sequence包含多个元素”(这可能是您想要的,具体取决于您的具体情况)。
但是,如果我尝试
System.IO.Directory.GetFiles(@"C:\temp\py\", "step.*").Single()
然后我得到step.py
(没有exception引发)因为那是该目录中唯一匹配step.*
的文件。
不,这是不可能的,因为你可能在这个位置同时拥有BlueHillsTest.xxx
和BlueHillsTest.yyy
。 在这种情况下,您希望返回哪一个?