日期:2014-05-18  浏览次数:20852 次

这两种写法有什么区别 ,高手进来帮忙看看吧!
我是这样读取文件夹信息的:
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);
就顺利的边缘成功了!
想问问高手是怎么回事?谢谢了!




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

------解决方案--------------------

DirectoryInfo dir = new DirectoryInfo(pathname); 
DirectoryInfo [] dirs =dir.GetDirectories(); 

返回的是DirectoryInfo []类型 不是Directory类型

------解决方案--------------------
GetDirectories()返回的应该是DirectoryInfo类型,改成这样就行了
DirectoryInfo[] dirs =dir.GetDirectories();
------解决方案--------------------
日文我看不懂,你把出错信息翻译成中文看看
------解决方案--------------------
DirectoryInfo 这个类想用里边的成员得实例化
Directory这个不用.这个里边提供的全是静态方法


Directory.GetDirectories()获取的是目录的名称

DirectoryInfo dir = new DirectoryInfo(..)
dir.GetDirectories()返回的是一个DirectoryInfo的数组

------解决方案--------------------
例子:
C# code

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);
    }
}

------解决方案--------------------
其实你只要搞清
DirectoryInfo和Directory这两个类的区别就明白了.
------解决方案--------------------
学习中