Reputation: 41
I'm trying to filter files by extension (in particular case ".gif") but GetFiles
method for some reason does not find any files (even if there are definitely files of that type in the folder).
This code gives me list of all files.
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);
}
If I add filter to the GetFiles()
like Directory.GetFiles("*.gif")
I will get exception:
Sequence contains no elements.
Upvotes: 0
Views: 160
Reputation: 4206
You have 3 versions of "GetFiles" method. 2 of which includes a filter option: https://msdn.microsoft.com/en-us/library/system.io.directory.getfiles%28v=vs.110%29.aspx
The version you were using accepts a "path". Not a filter.
Option 1 Directory.GetFiles
with two arguments:
var files = Directory.GetFiles(animatedgifsdirectory, "*.gif");
Option 2 DirectoryInfo.GetFiles
instance method takes filter as single parameter:
var directory = new DirectoryInfo(animatedgifsdirectory);
var files = directory.GetFiles(animatedgifsdirectory, "*.gif");
Upvotes: 3
Reputation: 2218
Use the search pattern overload on GetFiles
:
System.IO.Directory.GetFiles(@"C:\Windows", "*.gif");
Upvotes: 1