Asp.net循环遍历服务器文件夹及文件

来源:互联网 发布:华为手机解锁软件 编辑:程序博客网 时间:2024/06/06 16:03
  protected void Page_Load(object sender, EventArgs e)
        {
            System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(Server.MapPath("~/"));
            TreeView treeView1 = new TreeView();
            TreeNode nodeMain = OutPutNodes(dir, null);
            treeView1.Nodes.Add(nodeMain);
            this.form1.Controls.Add(treeView1);
        }
        private TreeNode OutPutNodes(System.IO.DirectoryInfo dir, TreeNode parentNode)
        {
            if (dir == null)
                return null;
            TreeNode dirNode = new TreeNode(dir.Name);


            System.IO.DirectoryInfo[] subDirs = dir.GetDirectories();
            for (int i = 0; i < subDirs.Length; i++)
            {
                OutPutNodes(subDirs[i], dirNode);
            }


            System.IO.FileInfo[] files = dir.GetFiles();
            for (int i = 0; i < files.Length; i++)
            {
                dirNode.ChildNodes.Add(new TreeNode(files[i].Name));
            }
            if (parentNode == null)
            {
                return dirNode;
            }
            else
            {
                parentNode.ChildNodes.Add(dirNode);
                return parentNode;
            }

        }