asp.net检索根目录下及其子目录(子目录里还有子目录)所有文件???给个方法和思路

解决方案 »

  1.   

    参考这个,虽然它是作删除功能,但你能了解到怎样取得目录与文件的。
    http://www.cnblogs.com/insus/articles/1986723.html
      

  2.   


    我看了,
    //循环每一个目录
                for (int j = 0; j < diArray.Length; j++)
                {
                    IterationFile(diArray[j].FullName);
                }
    可是每一个目录下面还有子目录,怎么弄,难道在循环,怎么循环。
      

  3.   

    递归。给你个winform下的实例代码。跟ASP.NET差不多。   //核心函数,使用递归法,参数意义:参数一:初始路径,参数二:要添加子节点的父节点对象)
            private string AddNote(DirectoryInfo dd,TreeNode nodes)
            {            try
                {
                    FileInfo[] infos=dd.GetFiles("*.*");
                    foreach (FileInfo file in infos)
                    {
                        nodes.Nodes.Add(file.Name);
                    }                //在父节点中添加子节点,显示的是文件名
                    DirectoryInfo[] dir = dd.GetDirectories();
                    foreach (DirectoryInfo d in dir)
                    {                    nodes.Nodes.Add(d.Name);//搜索文件夹,并添加当前父节点
                        AddNote(d,nodes.Nodes[nodes.Nodes.Count-1]);//递归,实现添加下级文件夹子节点的添加                    //nodes.Nodes[nodes.Nodes.Count-1],是当前父节点中的最后一个子节点,并把这个节点当做下级节点的父节点                }
                }
                catch
                {
                }
                return "";
            }        //搜索本地所有磁盘,并调用函数AddNote(..)
            private void Form1_Load(object sender, EventArgs e)
            {
                MessageBox.Show("如果你C盘文件较多,本程序打开时间可以会过长请耐心等待。");
                this.treeView1.Nodes.Add("c:\\");
                DirectoryInfo ddd = new DirectoryInfo("c:\\");
                AddNote(ddd, this.treeView1.Nodes[0]);
                
            }