zoukankan      html  css  js  c++  java
  • C# 循环获取目录

      #region 获取目录
    
            /// <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
  • 相关阅读:
    Session的使用与Session的生命周期
    Long-Polling, Websockets, SSE(Server-Sent Event), WebRTC 之间的区别与使用
    十九、详述 IntelliJ IDEA 之 添加 jar 包
    十八、IntelliJ IDEA 常用快捷键 之 Windows 版
    十七、IntelliJ IDEA 中的 Maven 项目初体验及搭建 Spring MVC 框架
    十六、详述 IntelliJ IDEA 创建 Maven 项目及设置 java 源目录的方法
    十五、详述 IntelliJ IDEA 插件的安装及使用方法
    十四、详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制
    十三、IntelliJ IDEA 中的版本控制介绍(下)
    十二、IntelliJ IDEA 中的版本控制介绍(中)
  • 原文地址:https://www.cnblogs.com/wangchuang/p/3322019.html
Copyright © 2011-2022 走看看