IsolatedStorageFile.DeleteDirectory(String) IsolatedStorageFile.DeleteDirectory(String) IsolatedStorageFile.DeleteDirectory(String) IsolatedStorageFile.DeleteDirectory(String) Method

Definition

Deletes a directory in the isolated storage scope.

public:
 void DeleteDirectory(System::String ^ dir);
public void DeleteDirectory (string dir);
member this.DeleteDirectory : string -> unit
Public Sub DeleteDirectory (dir As String)

Parameters

dir
String String String String

The relative path of the directory to delete within the isolated storage scope.

Exceptions

Examples

// 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), System::Security::Policy::Url::typeid, System::Security::Policy::Url::typeid );
      array<String^>^dirNames = isoFile->GetDirectoryNames( "*" );
      array<String^>^fileNames = isoFile->GetFileNames( "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( String::Concat("Archive\\", fileNames[ i ]) );

         }
         fileNames = isoFile->GetFileNames( "Archive\\*" );
      }
      if ( dirNames->Length > 0 )
      {
         for ( int i = 0; i < dirNames->Length; ++i )
         {
            
            // Delete the Archive directory.
            isoFile->DeleteDirectory( dirNames[ i ] );

         }
      }
      dirNames = isoFile->GetDirectoryNames( "*" );
      isoFile->Remove();
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e->ToString() );
   }

}


// 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());
    }
}
' 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

Remarks

A directory must be empty before it is deleted. The deleted directory cannot be recovered once deleted.

The How to: Delete Files and Directories in Isolated Storage example demonstrates the use of the DeleteDirectory method.

Security

IsolatedStorageFilePermission
for accessing the isolated storage scope.

ReflectionPermission
when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Associated enumeration: MemberAccess

Applies to

See also