Directory.GetFiles()返回完整路径
本文关键字:路径 返回 GetFiles Directory | 更新日期: 2023-09-27 18:21:48
我想返回特定目录中的图像文件。我想创建像这样的图像路径
string[] ImageNames = Directory.GetFiles(path);
string tds="";
for (int i = 0; i < ImageNames.Length; i++)
{
tds += "<tr> <td> <img href=/Articles/ArticleImageStore/'" + ImageNames[i] + "' width='64' height='64'></img></tr> </td>";
}
但它返回磁盘上文件的物理路径。我该怎么做??
您可以使用Path.GetFileName
:
string[] ImageNames = Directory.GetFiles(path)
.Select(p => Path.GetFileName(p)).ToArray();
这将生成一个仅包含文件名的列表。
与其使用Directory
类,不如使用DirectoryInfo
,这样您就可以做到这一点;
string[] fNames = new DirectoryInfo(dirPath).GetFiles("*.png").Select(x => x.FileName).ToArray();
DirectoryInfo
版本的GetFiles以字符串形式返回FileInfo对象,而不是文件路径,因此您可以对结果执行更多操作。我碰巧有一个选择,只需为GetFiles返回的每个FileInfo实例投影一个FileName,就可以使其无效,但如果你需要对文件做更多的处理,你可以删除它,然后在FileInfo对象上循环。
此外,我使用了一个重载,它有一个模式,可以很容易地忽略你的非图像文件。
目录信息文档;http://msdn.microsoft.com/en-us/library/8he88b63.aspx