要获取某路径文件夹中全部图片或其它指定格式的文件名,我们可以使用C#自带的Directory类中的GetFiles方法。下面是详细的实现方法:
步骤1:引用命名空间
首先我们需要在代码中引用System.IO命名空间,这个命名空间中包含了许多文件和文件夹相关的类。
using System.IO;
步骤2:编写获取文件名的方法
我们将编写的方法命名为GetFilesByExtensions
,其中传入两个参数:
path
:被查询的文件夹路径;extensions
:想要获取的文件格式,多个格式用逗号隔开,例如:jpg,png。
public static string[] GetFilesByExtensions(string path, string extensions)
{
string[] ExtensionArray = extensions.Split(',');
string[] files = Directory.GetFiles(path, "*.*")
.Where(file => ExtensionArray.Contains(file.Split('.').Last().ToLower()))
.ToArray();
return files;
}
上面的代码中,我们首先使用Split方法将传入的extensions参数分割成字符串数组。然后,我们使用Directory类中的GetFiles方法获取文件夹中的所有文件。最后,我们通过Linq表达式筛选出符合要求的文件,并将结果存储在数组中返回。
步骤3:调用获取文件名的方法
下面是两个示例,演示如何调用GetFilesByExtensions方法:
示例1:获取文件夹中所有的图片文件名
string path = "C:\\myfolder\\images";
string extensions = "jpg,png";
string[] files = GetFilesByExtensions(path, extensions);
foreach (string file in files)
{
Console.WriteLine(Path.GetFileName(file));
}
在上面的代码中,我们传入文件夹路径"C:\myfolder\images"和扩展名"jpg,png"。使用foreach循环遍历files数组,并输出每个文件的文件名。
示例2:获取文件夹中所有的音频文件名
string path = "C:\\myfolder\\audios";
string extensions = "mp3,wav";
string[] files = GetFilesByExtensions(path, extensions);
foreach (string file in files)
{
Console.WriteLine(Path.GetFileName(file));
}
在上面的代码中,我们传入文件夹路径"C:\myfolder\audios"和扩展名"mp3,wav"。使用foreach循环遍历files数组,并输出每个文件的文件名。
注意:使用该方法获取文件名时,应该注意传入的路径和扩展名是否正确。若路径不存在或扩展名拼写错误,将会导致获取失败。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#获取某路径文件夹中全部图片或其它指定格式的文件名的实例方法 - Python技术站