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 任务的示例。
若要执行此操作... |
请参见本主题中的示例... |
---|---|
创建文本文件。 |
|
写入文本文件。 |
|
读取文本文件。 |
|
重命名或移动目录。 |
|
删除目录。 |
|
创建目录。 |
|
创建子目录。 |
|
查看目录中的文件。 |
|
查看目录的子目录。 |
|
查看目录中的所有文件和所有子目录。 |
|
查看目录大小。 |
|
确定文件是否存在。 |
|
按大小对目录中的文件排序。 |
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 命名空间