【发布时间】:2017-12-28 11:16:50
【问题描述】:
我正在制作一个控制台应用程序,我想从一个特定的文件夹中只获取具有特定扩展名的图像。
我正在尝试以下代码,但它正在从特定路径检索所有文件。
string[] extensions = { ".jpg", ".jpeg", ".png", ".gif", ".tif" };
FileInfo[] files = new DirectoryInfo(SourcePath).GetFiles("*.*", SearchOption.AllDirectories);
如何在FileInfo[] 上设置扩展名?
更新问题
回答
List<String> ImageFiles = Directory.GetFiles(SourcePath, "*.*",
SearchOption.AllDirectories)
.Where(file => new string[] { ".jpg", ".jpeg", ".png", ".gif", ".tif" }
.Contains(Path.GetExtension(file)))
.ToList();
List<FileInfo> files = new List<FileInfo>();
foreach (string filess in ImageFiles)
{
string replace = filess.Replace(@"\", "/");
files.Add(new FileInfo(replace.Split('/').Last()));
}
这里如何摆脱每个循环,因为我只需要文件名而不是整个路径
【问题讨论】:
-
现在您的
extensions和对GetFiles的调用之间绝对没有任何联系。您必须过滤文件列表或迭代扩展名。 -
@ManfredRadlwimmer 无法获取 FileInfo[] 文件中的数据吗?
-
怎么说不可能?
标签: c# asp.net console-application