当前位置: 源码素材网 » C#教程 » 详情页

C#以树形方式显示指定文件夹下所有子目录及文件

  •   时间:2019-01-09
  • 概述:获取文件夹

C#获取指定文件夹下所有子目录及文件,显示成树形风格,函数名称:GetFoldAll(string Path),参 数:Path:详细路径, 调用示列:

string strDirlist = Server.MapPath("templates");
this.Literal1.Text = DotNet.Utilities.FileOperate.GetFoldAll(strDirlist);

C#获取文件夹子目录及文件函数如下:

/// <summary>
/// 获取指定文件夹下所有子目录及文件
/// </summary>
/// <param name="Path">详细路径</param>
public static string GetFoldAll(string Path)
{
    string str = "";
    DirectoryInfo thisOne = new DirectoryInfo(Path);
    str = ListTreeShow(thisOne, 0, str);
    return str;
}
/// <summary>
/// 获取指定文件夹下所有子目录及文件函数
/// </summary>
/// <param name="theDir">指定目录</param>
/// <param name="nLevel">默认起始值,调用时,一般为0</param>
/// <param name="Rn">用于迭加的传入值,一般为空</param>
/// <returns></returns>
public static string ListTreeShow(DirectoryInfo theDir, int nLevel, string Rn)//递归目录 文件
{
    DirectoryInfo[] subDirectories = theDir.GetDirectories();//获得目录
    foreach (DirectoryInfo dirinfo in subDirectories)
    {
        if (nLevel == 0)
        {
            Rn += "├";
        }
        else
        {
            string _s = "";
            for (int i = 1; i <= nLevel; i++)
            {
                _s += "│&nbsp;";
            }
            Rn += _s + "├";
        }
        Rn += "<b>" + dirinfo.Name.ToString() + "</b><br />";
        FileInfo[] fileInfo = dirinfo.GetFiles();   //目录下的文件
        foreach (FileInfo fInfo in fileInfo)
        {
            if (nLevel == 0)
            {
                Rn += "│&nbsp;├";
            }
            else
            {
                string _f = "";
                for (int i = 1; i <= nLevel; i++)
                {
                    _f += "│&nbsp;";
                }
                Rn += _f + "│&nbsp;├";
            }
            Rn += fInfo.Name.ToString() + " <br />";
        }
        Rn = ListTreeShow(dirinfo, nLevel + 1, Rn);
    }
    return Rn;
}

    相关声明:

      若“C#以树形方式显示指定文件夹下所有子目录及文件”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。