Gewusst wie: Löschen von Dateien und Verzeichnissen in isoliertem Speicher

Aktualisiert: November 2007

Sie können Verzeichnisse und Dateien in einer Datei der isolierten Speicherung löschen. Beachten Sie, dass Datei- und Verzeichnisnamen in einem Speicher abhängig vom Betriebssystem sind (normalerweise wird in Microsoft Windows-Systemen die Groß- und Kleinschreibung nicht berücksichtigt) und in Bezug auf den Stamm des virtuellen Dateisystems angegeben werden.

Die IsolatedStoreFile-Klasse unterstützt zwei Instanzmethoden zum Löschen von Verzeichnissen und Dateien: DeleteDirectory und DeleteFile. Wenn Sie versuchen, nicht vorhandene Dateien oder Verzeichnisse zu löschen, wird eine IsolatedStorageFileException ausgelöst. Wenn der Name ein Platzhalterzeichen enthält, wird durch DeleteDirectory eine IsolatedStorageFileException und durch DeleteFile eine ArgumentException ausgelöst.

DeleteDirectory schlägt fehl, wenn das Verzeichnis Dateien oder Unterverzeichnisse enthält. In einem Teil des DeletingFilesAndDirectories-Beispiels wird eine Methode definiert, die zuerst den gesamten Inhalt eines Verzeichnisses und dann das Verzeichnis selbst löscht. Sie könnten ebenso Ihre eigene DeleteFiles-Methode definieren, die ein Platzhalterzeichen zulässt. Verwenden Sie dazu die GetFileNames-Methode, um eine Liste aller übereinstimmenden Dateien abzurufen und die jeweilige Datei dann zu löschen. Weitere Informationen über das Suchen im virtuellen Dateisystem eines Speichers finden Sie unter Suchen vorhandener Dateien und Verzeichnisse.

Beispiel "DeletingFilesAndDirectories"

Im folgenden Codebeispiel werden diverse Verzeichnisse und Dateien erst erstellt und dann gelöscht.

Imports System
Imports System.IO
Imports System.IO.IsolatedStorage

Public Module modmain

   Sub Main()

      ' Get an isolated store for this assembly and put it into an
      ' IsolatedStoreFile object.

      Dim isoStore As IsolatedStorageFile
      isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly, Nothing, Nothing)

      Console.WriteLine("Creating Directories:")

      ' This code creates several different directories.

      isoStore.CreateDirectory("TopLevelDirectory")
      Console.WriteLine("TopLevelDirectory")
      isoStore.CreateDirectory("TopLevelDirectory/SecondLevel")
      Console.WriteLine("TopLevelDirectory/SecondLevel")


      ' This code creates two new directories, one inside the other.

isoStore.CreateDirectory("AnotherTopLevelDirectory/InsideDirectory")
      Console.WriteLine("AnotherTopLevelDirectory/InsideDirectory")
      Console.WriteLine()

      ' This code creates a few files and places them in the directories.

      Console.WriteLine("Creating Files:")

      ' This file is placed in the root.

      Dim isoStream1 As New IsolatedStorageFileStream("InTheRoot.txt", FileMode.Create, isoStore)
      Console.WriteLine("InTheRoot.txt")

      isoStream1.Close()

      ' This file is placed in the InsideDirectory.

      Dim isoStream2 As New IsolatedStorageFileStream("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt", FileMode.Create, isoStore)

Console.WriteLine("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt")
      Console.WriteLine()
      isoStream2.Close()

      Console.WriteLine("Deleting File:")

      ' This code deletes the HereIAm.txt file.

isoStore.DeleteFile("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt")

Console.WriteLine("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt")
      Console.WriteLine()

      Console.WriteLine("Deleting Directory:")

      ' This code deletes the InsideDirectory.

isoStore.DeleteDirectory("AnotherTopLevelDirectory/InsideDirectory/")
      Console.WriteLine("AnotherTopLevelDirectory/InsideDirectory/")
      Console.WriteLine()

   End Sub

End Module
using System;
using System.IO.IsolatedStorage;
using System.IO;

public class DeletingFilesDirectories{

   public static void Main(){

      // Get a new isolated store for this user domain and assembly.
      // Put the store into an isolatedStorageFile object.

      IsolatedStorageFile isoStore =  IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Domain | IsolatedStorageScope.Assembly, null, null);
    
      Console.WriteLine("Creating Directories:");

      // This code creates several different directories.

      isoStore.CreateDirectory("TopLevelDirectory");
      Console.WriteLine("TopLevelDirectory");
      isoStore.CreateDirectory("TopLevelDirectory/SecondLevel");
      Console.WriteLine("TopLevelDirectory/SecondLevel");

      // This code creates two new directories, one inside the other.

      isoStore.CreateDirectory("AnotherTopLevelDirectory/InsideDirectory");
      Console.WriteLine("AnotherTopLevelDirectory/InsideDirectory");
      Console.WriteLine();

      // This code creates a few files and places them in the directories.

      Console.WriteLine("Creating Files:");

      // This file is placed in the root.

      IsolatedStorageFileStream isoStream1 = new IsolatedStorageFileStream("InTheRoot.txt", FileMode.Create, isoStore);
      Console.WriteLine("InTheRoot.txt");
  
      isoStream1.Close();

      // This file is placed in the InsideDirectory.

      IsolatedStorageFileStream isoStream2 = new IsolatedStorageFileStream("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt", FileMode.Create, isoStore);
      Console.WriteLine("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt");
      Console.WriteLine();

      isoStream2.Close();

      Console.WriteLine("Deleting File:");

      // This code deletes the HereIAm.txt file.
      isoStore.DeleteFile("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt");
      Console.WriteLine("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt"); 
      Console.WriteLine();

      Console.WriteLine("Deleting Directory:");

      // This code deletes the InsideDirectory.

      isoStore.DeleteDirectory("AnotherTopLevelDirectory/InsideDirectory/");
      Console.WriteLine("AnotherTopLevelDirectory/InsideDirectory/");
      Console.WriteLine();

   }// End of main.

}

Siehe auch

Referenz

IsolatedStorageFile

Weitere Ressourcen

Verwenden der isolierten Speicherung