DirectoryInfo.Exists 属性

获取指示目录是否存在的值。

**命名空间:**System.IO
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Overrides ReadOnly Property Exists As Boolean
用法
Dim instance As DirectoryInfo
Dim value As Boolean

value = instance.Exists
public override bool Exists { get; }
public:
virtual property bool Exists {
    bool get () override;
}
/** @property */
public boolean get_Exists ()
public override function get Exists () : boolean

属性值

如果目录存在,则为 true;否则为 false

备注

下表列出了其他典型或相关的 I/O 任务的示例。

若要执行此操作...

请参见本主题中的示例...

创建文本文件。

如何:向文件写入文本

写入文本文件。

如何:向文件写入文本

读取文本文件。

如何:从文件读取文本

重命名或移动目录。

Directory.Move

DirectoryInfo.MoveTo

删除目录。

Directory.Delete

DirectoryInfo.Delete

创建目录。

CreateDirectory

Directory

创建子目录。

CreateSubdirectory

查看目录中的文件。

Name

查看目录的子目录。

GetDirectories

GetDirectories

查看目录中的所有文件和所有子目录。

GetFileSystemInfos

查看目录大小。

Directory

确定文件是否存在。

Exists

按大小对目录中的文件排序。

GetFileSystemInfos

示例

下面的示例演示了 Exists 属性在将源目录复制到目标目录时的用法。

Imports System
Imports System.IO

Module Module1
    Public Sub CopyDirectory(ByVal SourceDirectory As String, ByVal TargetDirectory As String)
        Dim source As DirectoryInfo = New DirectoryInfo(SourceDirectory)
        Dim target As DirectoryInfo = New DirectoryInfo(TargetDirectory)

        'Determine whether the source directory exists.
        If (source.Exists = False) Then
            Return
        End If
        If (target.Exists = False) Then
            target.Create()
        End If

        'Copy files.
        Dim sourceFiles As FileInfo() = source.GetFiles()
        Dim i, j As Integer
        For i = 0 To sourceFiles.Length - 1
            File.Copy(sourceFiles(i).FullName, target.FullName + "\\" + sourceFiles(i).Name, True)
        Next i

        'Copy directories.
        Dim sourceDirectories As DirectoryInfo() = source.GetDirectories()
        For j = 0 To sourceDirectories.Length - 1
            CopyDirectory(sourceDirectories(j).FullName, target.FullName + "\\" + sourceDirectories(j).Name)
        Next j
        source = Nothing
        target = Nothing
    End Sub
    Sub Main()
        CopyDirectory("D:\\Tools", "D:\\NewTools")
    End Sub
End Module
using System;
using System.IO;

namespace DirectoryInfoCS2
{
    class Class1
    {
        // Copy a source directory to a target directory.
        static public void CopyDirectory(string SourceDirectory, string TargetDirectory)
        {
            DirectoryInfo   source = new DirectoryInfo(SourceDirectory);
            DirectoryInfo   target = new DirectoryInfo(TargetDirectory);
            
            //Determine whether the source directory exists.
            if(!source.Exists)
                return;
            if(!target.Exists)
                target.Create();
            
            //Copy files.
            FileInfo[] sourceFiles = source.GetFiles(); 
            for(int i = 0; i < sourceFiles.Length; ++i)
                File.Copy(sourceFiles[i].FullName, target.FullName + "\\" + sourceFiles[i].Name,true);
            
            //Copy directories.
            DirectoryInfo[] sourceDirectories = source.GetDirectories();    
            for(int j = 0; j < sourceDirectories.Length; ++j)
                CopyDirectory(sourceDirectories[j].FullName,target.FullName +"\\" + sourceDirectories[j].Name);
        }
        
        static void Main(string[] args)
        {
            CopyDirectory("D:\\Tools","D:\\NewTools");
        }
    }
}
using namespace System;
using namespace System::IO;

// Copy a source directory to a target directory.
void CopyDirectory( String^ SourceDirectory, String^ TargetDirectory )
{
   DirectoryInfo^ source = gcnew DirectoryInfo( SourceDirectory );
   DirectoryInfo^ target = gcnew DirectoryInfo( TargetDirectory );
   
   //Determine whether the source directory exists.
   if (  !source->Exists )
      return;

   if (  !target->Exists )
      target->Create();

   
   //Copy files.
   array<FileInfo^>^sourceFiles = source->GetFiles();
   for ( int i = 0; i < sourceFiles->Length; ++i )
      File::Copy( sourceFiles[ i ]->FullName, String::Concat( target->FullName, "\\", sourceFiles[ i ]->Name ), true );
   
   //Copy directories.
   array<DirectoryInfo^>^sourceDirectories = source->GetDirectories();
   for ( int j = 0; j < sourceDirectories->Length; ++j )
      CopyDirectory( sourceDirectories[ j ]->FullName, String::Concat( target->FullName, "\\", sourceDirectories[ j ]->Name ) );
}

int main()
{
   CopyDirectory( "D:\\Tools", "D:\\NewTools" );
}
package DirectoryInfoJSL2; 

import System.*;
import System.IO.*;
   
class Class1
{
    // Copy a source directory to a target directory.
    public static void CopyDirectory(String SourceDirectory, 
        String TargetDirectory)
    {
        DirectoryInfo source = new DirectoryInfo(SourceDirectory);
        DirectoryInfo target = new DirectoryInfo(TargetDirectory);

        //Determine whether the source directory exists.
        if (!(source.get_Exists())) {
            return;
        }

        if (!(target.get_Exists())) {
            target.Create();
        }

        //Copy files.
        FileInfo sourceFiles[] = source.GetFiles();

        for (int i = 0; i < sourceFiles.length; i++) {
            File.Copy(sourceFiles[i].get_FullName(),
                target.get_FullName() + "\\" 
                + sourceFiles[i].get_Name(), true);
        }

        //Copy directories.
        DirectoryInfo sourceDirectories[] = source.GetDirectories();

        for (int j = 0; j < sourceDirectories.length; j++) {
            CopyDirectory(sourceDirectories[j].get_FullName(),
                target.get_FullName() + "\\" 
                + sourceDirectories[j].get_Name());
        }
    } //CopyDirectory

    public static void main(String[] args)
    {
        CopyDirectory("D:\\Tools", "D:\\NewTools");
    } //main
} //Class1
import System;
import System.IO;

package DirectoryInfoCS2
{
    class Class1
    {
        static public function CopyDirectory(SourceDirectory : String, TargetDirectory : String )
        {
            var source : DirectoryInfo = new DirectoryInfo(SourceDirectory);
            var target : DirectoryInfo = new DirectoryInfo(TargetDirectory);
            
            //Determine whether the source file exists.
            if(!source.Exists)
                return;
            if(!target.Exists)
                target.Create();
            
            //Copy files.
            var sourceFiles : FileInfo[] = source.GetFiles();   
            for(var i : int = 0; i < sourceFiles.Length; ++i)
                File.Copy(sourceFiles[i].FullName, target.FullName + "\\" + sourceFiles[i].Name,true);
            
            //Copy directories.
            var sourceDirectories : DirectoryInfo[] = source.GetDirectories();  
            for(var j : int = 0; j < sourceDirectories.Length; ++j)
                CopyDirectory(sourceDirectories[j].FullName,target.FullName +"\\" + sourceDirectories[j].Name);
        }
        
        static function Main(args : String[])
        {
            CopyDirectory("D:\\Tools","D:\\NewTools");
        }
    }
}

DirectoryInfoCS2.Class1.Main();

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

DirectoryInfo 类
DirectoryInfo 成员
System.IO 命名空间

其他资源

文件和流 I/O
如何:从文件读取文本
如何:向文件写入文本