如何正确的判断当前的FileSystemInfo的类型是目录还是文件?
Extension属性所提供的是判断是通过判断.来获得扩展名,虽然可以用这种方法来判断文件和目录,但是目录可能会包含.就不能正确判断了,请问各位应该如何判断所得到的类型是目录还是文件?

解决方案 »

  1.   

    不明白你的意思,这个东西是文件或目录的基类
    要判断,你就把你的路径放在具体的文件或目录的exist中判断
    比如如果你给出的是c:\aaa.lll
    DirectoryInfo di = new DirectoryInfo(@"c:\aaa.lll");
            try 
            {
                           if (di.Exists) 
                {
                             Console.WriteLine("That path exists already.");
                    return;
                }
                   
            } 
            catch (Exception e) 
            {
                Console.WriteLine("The process failed: {0}", e.ToString());
            }类似,可以判断是不是文件
      

  2.   

    这个是个基类啊,看看
    FileSystemInfo fsiDirectory = new FileInfo(@"d:\project");
    FileSystemInfo fsiFile = new FileInfo(@"d:\project\test.txt");
    Console.WriteLine(fsiDirectory.Attributes);
    Console.WriteLine(fsiFile.Attributes);
    输出:
    Directory
    Archive
      

  3.   

    文件和目錄就是
    Directory和File
      

  4.   

    DirectoryInfo di = new DirectoryInfo(path);
    FileSystemInfo[] dt=di.GetFileSystemInfos(sname);
    foreach (FileSystemInfo str in dt){
    if  (str.Extension==string.Empty)
    {
    Strpostfix="文件夹";
    }
    else
    {
    Strpostfix="文件";
    }
    我是这样判断的..所以不能真正的分出文件夹和文件,如何真正的判断出那些试文件和文件夹?
      

  5.   

    //Directory
    string[] DirectoriesArray = System.IO.Directory.GetDirectories(context.Server.MapPath(CurrentImagesFolder),"*");
    return DirectoriesArray ;//Files
    DirectoryInfo directoryInfo = new DirectoryInfo(context.Server.MapPath(CurrentImagesFolder));
    FileInfo[] files = null;
    files = directoryInfo.GetFiles("*");