我是这样读取文件夹信息的:
DirectoryInfo dir = new DirectoryInfo(pathname);
Directory[] dirs =dir.GetDirectories();
然后就foreach()了
运行的时候 就会在第二行报错。
错误信息为:パス 'F:\Visual Studio 2005\Projects\TreeView\TreeView\bin\Debug\html' の一部が見つかりませんでした。但是我改成://DirectoryInfo dir = new DirectoryInfo();    /*这行不要*/
            String[] dirs =Directory.GetDirectories(pathname);
就顺利的边缘成功了!
想问问高手是怎么回事?谢谢了!

解决方案 »

  1.   

    没什么区别吧
    String[] dirs =Directory.GetDirectories(pathname); 简单方便
      

  2.   


    DirectoryInfo dir = new DirectoryInfo(pathname); 
    DirectoryInfo [] dirs =dir.GetDirectories(); 返回的是DirectoryInfo []类型 不是Directory类型
      

  3.   

    GetDirectories()返回的应该是DirectoryInfo类型,改成这样就行了
    DirectoryInfo[] dirs =dir.GetDirectories(); 
      

  4.   

    to:二楼 三楼
    我是写的DirectoryInfo[]  在这里问的时候写错了
    我把我的代码全部写出来吧,你们帮我看看:
             private void Form1_Load(object sender, EventArgs e)
            {
                
                treeView1.Nodes.Add("c:");
                PopulateTreeView("C:\\", treeView1.Nodes[0]);            
            }
            private void PopulateTreeView(string path,TreeNode parentNode)
            {
                try
                {
                    DirectoryInfo dir = new DirectoryInfo(path);
                    DirectoryInfo[] dirs = dir.GetDirectories();
                    //FileInfo[] files = dir.GetFiles();
                    if (dirs.Length == 0)
                        return;
                    foreach (DirectoryInfo di in dirs)
                    {
                        TreeNode tn = new TreeNode(di.Name);
                        parentNode.Nodes.Add(tn);
                        PopulateTreeView(di.Name,tn);
                    }
                }
                catch (UnauthorizedAccessException ex)
                {
                    parentNode.Nodes.Add("Access Denied");
                }        }
      

  5.   

    パス 'F:\Visual Studio 2005\Projects\TreeView\TreeView\bin\Debug\html' の一部が見つかりませんでした。
    路径 'F:\Visual Studio 2005\Projects\TreeView\TreeView\bin\Debug\html' 的其中一部份没有找到。
      

  6.   

    DirectoryInfo 这个类想用里边的成员得实例化
    Directory这个不用.这个里边提供的全是静态方法
    Directory.GetDirectories()获取的是目录的名称DirectoryInfo dir = new DirectoryInfo(..)
    dir.GetDirectories()返回的是一个DirectoryInfo的数组
      

  7.   

    例子:using System;
    using System.IO;public class GetDirectoriesTest 
    {
        public static void Main() 
        {        // Make a reference to a directory.
            DirectoryInfo di = new DirectoryInfo("c:\\");        // Get a reference to each directory in that directory.
            DirectoryInfo[] diArr = di.GetDirectories();        // Display the names of the directories.
            foreach (DirectoryInfo dri in diArr)
                Console.WriteLine(dri.Name);
        }
    }
      

  8.   

    其实你只要搞清
    DirectoryInfo和Directory这两个类的区别就明白了.