System.IO.Directory.Exists 方法

方法描述

确定给定路径是否引用磁盘上的现有目录。

语法定义(C# System.IO.Directory.Exists 方法 的用法)

public static bool Exists(
	string path
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
path System-String 要测试的路径。
返回值 System.Boolean 如果 path 引用现有目录,则为 true;否则为 false。

提示和注释

允许 path 参数指定相对或绝对路径信息。 相对路径信息被解释为相对于当前工作目录。

检查该目录是否存在之前,从 path 参数的末尾移除尾随空格。

path 参数不区分大小写。

如果您没有该目录的最小只读权限,Exists 方法将返回 false。

如果在尝试确定是否存在指定的文件时发生任何错误,则该 Exists 方法返回 false。 可能在引发异常(如使用无效的字符传递文件名或字符过多、磁盘失效或缺失)时发生,也可能在调用方无文件读取权限时发生。

System.IO.Directory.Exists 方法例子

下面的代码示例接受命令行上的一组文件名或目录名,确定名称类型,然后相应地进行处理。

// For File.Exists, Directory.Exists
using System;
using System.IO;
using System.Collections;

public class RecursiveFileProcessor 
{
    public static void Main(string[] args) 
    {
        foreach(string path in args) 
        {
            if(File.Exists(path)) 
            {
                // This path is a file
                ProcessFile(path); 
            }               
            else if(Directory.Exists(path)) 
            {
                // This path is a directory
                ProcessDirectory(path);
            }
            else 
            {
                Console.WriteLine("{0} is not a valid file or directory.", path);
            }        
        }        
    }


    // Process all files in the directory passed in, recurse on any directories 
    // that are found, and process the files they contain.
    public static void ProcessDirectory(string targetDirectory) 
    {
        // Process the list of files found in the directory.
        string [] fileEntries = Directory.GetFiles(targetDirectory);
        foreach(string fileName in fileEntries)
            ProcessFile(fileName);

        // Recurse into subdirectories of this directory.
        string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
        foreach(string subdirectory in subdirectoryEntries)
            ProcessDirectory(subdirectory);
    }

    // Insert logic for processing found files here.
    public static void ProcessFile(string path) 
    {
        Console.WriteLine("Processed file '{0}'.", path);	    
    }
}

异常

异常 异常描述

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。