如何使用Directory.GetFiles只获取gif类型(或任何其他类型)
本文关键字:类型 其他 任何 gif Directory 何使用 GetFiles 获取 | 更新日期: 2023-09-27 18:20:58
我正在尝试按扩展名筛选文件(特别是".gif"),但由于某种原因,GetFiles
方法找不到任何文件(即使文件夹中肯定有该类型的文件)。
这段代码给了我所有文件的列表。
private void displaylastanimatedgif()
{
var directory = new DirectoryInfo(animatedgifsdirectory);
var myFile = (from f in directory.GetFiles()
orderby f.LastWriteTime descending
select f).First();
if (myFile != null)
pictureBoxImage(myFile.FullName);
listBox1.Items.Add(outputfile);
}
如果我像Directory.GetFiles("*.gif")
一样给GetFiles()
添加过滤器,我会得到异常:
序列不包含任何元素。
您有3个版本的"GetFiles"方法。其中2个包括过滤器选项:https://msdn.microsoft.com/en-us/library/system.io.directory.getfiles%28v=vs.110%29.aspx
您使用的版本接受"路径"。不是过滤器。
-
选项1
Directory.GetFiles
有两个参数:var files = Directory.GetFiles(animatedgifsdirectory, "*.gif");
-
选项2
DirectoryInfo.GetFiles
实例方法将过滤器作为单个参数:var directory = new DirectoryInfo(animatedgifsdirectory); var files = directory.GetFiles(animatedgifsdirectory, "*.gif");
在GetFiles
:上使用搜索模式重载
System.IO.Directory.GetFiles(@"C:'Windows", "*.gif");