IsolatedStorageFile.DeleteDirectory メソッド
分離ストレージのスコープ内にあるディレクトリを削除します。
Public Sub DeleteDirectory( _
ByVal dir As String _)
[C#]
public void DeleteDirectory(stringdir);
[C++]
public: void DeleteDirectory(String* dir);
[JScript]
public function DeleteDirectory(
dir : String);
パラメータ
- dir
分離ストレージ スコープ内で削除するディレクトリの相対パス。
例外
例外の種類 | 条件 |
---|---|
IsolatedStorageException | ディレクトリを削除できませんでした。 |
ArgumentNullException | ディレクトリのパスが null 参照 (Visual Basic では Nothing) です。 |
解説
ディレクトリを削除する前に、その中を空にする必要があります。一度削除したディレクトリは復元できません。
DeleteDirectory メソッドの使用方法については、「 ファイルおよびディレクトリの削除 」の例を参照してください。
使用例
' This method deletes directories in the specified Isolated Storage, after first
' deleting the files they contain. In this example, the Archive directory is deleted.
' There should be no other directories in this Isolated Storage.
Public Sub DeleteDirectories()
Try
Dim isoFile As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User _
Or IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, _
GetType(System.Security.Policy.Url), GetType(System.Security.Policy.Url))
Dim name As String
Dim dirNames As [String]() = isoFile.GetDirectoryNames("*")
Dim fileNames As [String]() = isoFile.GetFileNames("Archive\*")
' Delete all the files currently in the Archive directory.
If fileNames.Length > 0 Then
For Each name In fileNames
isoFile.DeleteFile(("Archive\" & name))
Next name
'Confirm no files are left.
fileNames = isoFile.GetFileNames("Archive\*")
End If
If dirNames.Length > 0 Then
For Each name In dirNames
' Delete the Archive directory.
isoFile.DeleteDirectory(name)
Next name
End If
dirNames = isoFile.GetDirectoryNames("*")
isoFile.Remove()
Catch ex As Exception
Console.WriteLine(ex.ToString())
End Try
End Sub 'DeleteDirectories
[C#]
// This method deletes directories in the specified Isolated Storage, after first
// deleting the files they contain. In this example, the Archive directory is deleted.
// There should be no other directories in this Isolated Storage.
public void DeleteDirectories()
{
try
{
IsolatedStorageFile isoFile = IsolatedStorageFile.GetStore( IsolatedStorageScope.User |
IsolatedStorageScope.Assembly |
IsolatedStorageScope.Domain,
typeof(System.Security.Policy.Url),
typeof(System.Security.Policy.Url));
String [] dirNames = isoFile.GetDirectoryNames("*");
String [] fileNames = isoFile.GetFileNames("Archive\\*");
// Delete all the files currently in the Archive directory.
if (fileNames.Length>0)
{
for (int i=0;i<fileNames.Length;++i)
{
// Delete the files.
isoFile.DeleteFile("Archive\\" + fileNames[i]);
}
// Confirm that no files remain.
fileNames = isoFile.GetFileNames("Archive\\*");
}
if (dirNames.Length>0)
{
for (int i=0; i<dirNames.Length; ++i)
{
// Delete the Archive directory.
}
}
dirNames = isoFile.GetDirectoryNames("*");
isoFile.Remove();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
[C++]
// This method deletes directories in the specified Isolated Storage, after first
// deleting the files they contain. In this example, the Archive directory is deleted.
// There should be no other directories in this Isolated Storage.
void DeleteDirectories()
{
try
{
IsolatedStorageFile* isoFile = IsolatedStorageFile::GetStore(
static_cast<IsolatedStorageScope>(IsolatedStorageScope::User |
IsolatedStorageScope::Assembly |
IsolatedStorageScope::Domain),
__typeof(System::Security::Policy::Url),
__typeof(System::Security::Policy::Url));
String* dirNames[] = isoFile->GetDirectoryNames(S"*");
String* fileNames[] = isoFile->GetFileNames(S"Archive\\*");
// Delete the current files within the Archive directory.
if (fileNames->Length>0)
{
for (int i=0;i<fileNames->Length;++i)
{
//delete files
isoFile->DeleteFile((S"Archive\\{0}", fileNames[i]));
}
//Confirm no files are left.
fileNames = isoFile->GetFileNames(S"Archive\\*");
}
if (dirNames->Length>0)
{
for (int i=0; i<dirNames->Length; ++i)
{
// Delete the Archive directory.
isoFile->DeleteDirectory(dirNames[i]);
}
}
dirNames = isoFile->GetDirectoryNames(S"*");
isoFile->Remove();
}
catch (Exception* e)
{
Console::WriteLine(e->ToString());
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- IsolatedStorageFilePermission (分離ストレージ スコープへのアクセスに必要な許可)
- ReflectionPermission (Type.InvokeMember などの機構を通じて遅延バインディングで呼び出すときに必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
参照
IsolatedStorageFile クラス | IsolatedStorageFile メンバ | System.IO.IsolatedStorage 名前空間