我如何使用 GetFiles 获取只有图像和文本文件?
How do i get with GetFiles only images and text files?
这将获取所有文件:
static void DirSearch(string sDir)
{
try
{
foreach (string d in Directory.GetDirectories(sDir))
{
foreach (string f in Directory.GetFiles(d))
{
Console.WriteLine(f);
}
DirSearch(d);
}
}
catch (System.Exception excpt)
{
Console.WriteLine(excpt.Message);
}
}
但我只想获取全部或大部分图像类型文件和文本文件。
这里有一些你需要了解的事情Linq && Lambda Extension Methods \ Expressions
var fi = new System.IO.DirectoryInfo(sDir).GetFiles().
Where(f => !(f.FullName.EndsWith(".jpg") || f.Name.EndsWith(".txt"))).ToArray();
尝试 class Path() 它的功能类似于 GetExtension( )
一种方法是创建您感兴趣的文件扩展名列表,然后将匹配的文件添加到列表中。
List<string> validextentions = new List<string> {"bmp", "jpg", "gif"};
DirectoryInfo d = new DirectoryInfo(@"C:\MyFolder\MyImages\");
List<FileInfo> myFiles = (from file in d.GetFiles("*.*", SearchOption.AllDirectories)
where validextentions.Contains(file.Extension.Replace(".", "").ToLower())
select new FileInfo(file.FullName)).ToList();
这将获取所有文件:
static void DirSearch(string sDir)
{
try
{
foreach (string d in Directory.GetDirectories(sDir))
{
foreach (string f in Directory.GetFiles(d))
{
Console.WriteLine(f);
}
DirSearch(d);
}
}
catch (System.Exception excpt)
{
Console.WriteLine(excpt.Message);
}
}
但我只想获取全部或大部分图像类型文件和文本文件。
这里有一些你需要了解的事情Linq && Lambda Extension Methods \ Expressions
var fi = new System.IO.DirectoryInfo(sDir).GetFiles().
Where(f => !(f.FullName.EndsWith(".jpg") || f.Name.EndsWith(".txt"))).ToArray();
尝试 class Path() 它的功能类似于 GetExtension( )
一种方法是创建您感兴趣的文件扩展名列表,然后将匹配的文件添加到列表中。
List<string> validextentions = new List<string> {"bmp", "jpg", "gif"};
DirectoryInfo d = new DirectoryInfo(@"C:\MyFolder\MyImages\");
List<FileInfo> myFiles = (from file in d.GetFiles("*.*", SearchOption.AllDirectories)
where validextentions.Contains(file.Extension.Replace(".", "").ToLower())
select new FileInfo(file.FullName)).ToList();