源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp.net 获取指定文件夹下所有子目录及文件(树形)

  • 时间:2020-05-31 02:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp.net 获取指定文件夹下所有子目录及文件(树形)
#region 获取指定文件夹下所有子目录及文件(树形)         /****************************************          * 函数名称:GetFoldAll(string Path)          * 功能说明:获取指定文件夹下所有子目录及文件(树形)          * 参    数:Path:详细路径          * 调用示列:          *           string strDirlist = Server.MapPath("templates");                 *           this.Literal1.Text = EC.FileObj.GetFoldAll(strDirlist);           *****************************************/         /// <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 += "│ ";                     }                     Rn += _s + "├";                 }                 Rn += "<b>" + dirinfo.Name.ToString() + "</b><br />";                 FileInfo[] fileInfo = dirinfo.GetFiles();   //目录下的文件                 foreach (FileInfo fInfo in fileInfo)                 {                     if (nLevel == 0)                     {                         Rn += "│ ├";                     }                     else                     {                         string _f = "";                         for (int i = 1; i <= nLevel; i++)                         {                             _f += "│ ";                         }                         Rn += _f + "│ ├";                     }                     Rn += fInfo.Name.ToString() + " <br />";                 }                 Rn = ListTreeShow(dirinfo, nLevel + 1, Rn);             }             return Rn;         }           /****************************************          * 函数名称:GetFoldAll(string Path)          * 功能说明:获取指定文件夹下所有子目录及文件(下拉框形)          * 参    数:Path:详细路径          * 调用示列:          *            string strDirlist = Server.MapPath("templates");                *            this.Literal2.Text = EC.FileObj.GetFoldAll(strDirlist,"tpl","");         *****************************************/         /// <summary>         /// 获取指定文件夹下所有子目录及文件(下拉框形)         /// </summary>         /// <param name="Path">详细路径</param>         ///<param name="DropName">下拉列表名称</param>         ///<param name="tplPath">默认选择模板名称</param>         public static string GetFoldAll(string Path,string DropName,string tplPath)         {             string strDrop = "<select name="" + DropName + "" id="" + DropName + ""><option value="">--请选择详细模板--</option>";             string str = "";             DirectoryInfo thisOne = new DirectoryInfo(Path);             str = ListTreeShow(thisOne, 0, str,tplPath);             return strDrop+str+"</select>";         }         /// <summary>         /// 获取指定文件夹下所有子目录及文件函数         /// </summary>         /// <param name="theDir">指定目录</param>         /// <param name="nLevel">默认起始值,调用时,一般为0</param>         /// <param name="Rn">用于迭加的传入值,一般为空</param>         /// <param name="tplPath">默认选择模板名称</param>         /// <returns></returns>         public static string ListTreeShow(DirectoryInfo theDir, int nLevel, string Rn,string tplPath)//递归目录 文件         {             DirectoryInfo[] subDirectories = theDir.GetDirectories();//获得目录             foreach (DirectoryInfo dirinfo in subDirectories)             {                 Rn += "<option value="" + dirinfo.Name.ToString() + """;                 if (tplPath.ToLower() == dirinfo.Name.ToString().ToLower())                 {                     Rn += " selected ";                 }                 Rn += ">";                 if (nLevel == 0)                 {                     Rn += "┣";                 }                 else                 {                     string _s = "";                     for (int i = 1; i <= nLevel; i++)                     {                         _s += "│ ";                     }                     Rn += _s + "┣";                 }                 Rn += "" + dirinfo.Name.ToString() + "</option>";                 FileInfo[] fileInfo = dirinfo.GetFiles();   //目录下的文件                 foreach (FileInfo fInfo in fileInfo)                 {                     Rn += "<option value="" + dirinfo.Name.ToString()+"/"+fInfo.Name.ToString() + """;                     if (tplPath.ToLower() == fInfo.Name.ToString().ToLower())                     {                         Rn += " selected ";                     }                     Rn += ">";                     if (nLevel == 0)                     {                         Rn += "│ ├";                     }                     else                     {                         string _f = "";                         for (int i = 1; i <= nLevel; i++)                         {                             _f += "│ ";                         }                         Rn += _f + "│ ├";                     }                     Rn += fInfo.Name.ToString() + "</option>";                 }                 Rn = ListTreeShow(dirinfo, nLevel + 1, Rn, tplPath);             }             return Rn;         }         #endregion
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部