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); } }
版本信息
.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 系统要求。