永发信息网

C# 遍历文件夹下所有子文件夹中的文件,得到文件名

答案:4  悬赏:0  手机版
解决时间 2021-03-30 21:52
  • 提问者网友:富士山上尢
  • 2021-03-29 23:22
C# 遍历文件夹下所有子文件夹中的文件,得到文件名
最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-03-30 00:28
输入某文件夹路径,遍历该文件夹及其子文件夹(包括子文件夹的子文件夹等),获取其中所有文件的函数:
///
/// 查找指定文件夹下指定后缀名的文件
///

/// 文件夹
/// 后缀名
/// 文件路径
public void GetFiles(DirectoryInfo directory, string pattern, ref List fileList)
{
if (directory.Exists || pattern.Trim() != string.Empty)
{
try
{
foreach (FileInfo info in directory.GetFiles(pattern))
{
fileList.Add(info.FullName.ToString());
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.ToString());
}
foreach (DirectoryInfo info in directory.GetDirectories())//获取文件夹下的子文件夹
{
GetFiles(info, pattern, ref fileList);//递归调用该函数,获取子文件夹下的文件
}
}
}

使用实例:
List FindResult = new List();
GetFiles(new DirectoryInfo(@"C:","*.*", ref FindResult); //获取C盘下的所有文件路径
GetFiles(new DirectoryInfo(@"\192.168.1.107Save"), "*.*", ref FindResult);//获取局域网上共享文件夹下的所有文件

全部回答
  • 1楼网友:長槍戰八方
  • 2021-03-30 04:42
递归查找,算法去百度下,多的是。
  • 2楼网友:零点过十分
  • 2021-03-30 03:06
///
/// 查找指定文件夹下指定后缀名的文件
///

/// 文件夹
/// 后缀名
/// 文件路径
public static List GetFiles(DirectoryInfo directory, string pattern)
{
List result = new List();
if (directory.Exists || pattern.Trim() != string.Empty)
{
try
{
foreach (FileInfo info in directory.GetFiles(pattern))
{
result.Add(info.FullName.ToString());
num++;
}
}
catch { }
foreach (DirectoryInfo info in directory.GetDirectories())
{
GetFiles(info, pattern);
}
}
return result;
}
找了一下,以前写过这个方法,调用它就可以得到结果。
比如List FindResult = GetFiles(@"C:\","*.*");就可以得到C盘下所有文件。
你也可以只查找图片,List FindResult = GetFiles(@"盘符:\a","*.jpg");
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯