Επεξεργασία

Κοινή χρήση μέσω


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

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

Exceptions

The directory could not be deleted.

The directory path was null.

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

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.

Applies to

See also