다음을 통해 공유


방법: 격리된 저장소의 파일 및 디렉터리 삭제

업데이트: 2007년 11월

격리된 저장소 파일 내에서 디렉터리와 파일을 삭제할 수 있습니다. 저장소 내에서 파일 및 디렉터리 이름은 운영 체제에 종속적이며(일반적으로 Microsoft Windows 시스템에서는 대/소문자를 구분하지 않음) 가상 파일 시스템의 루트와 관련하여 지정됩니다.

IsolatedStoreFile 클래스는 DeleteDirectoryDeleteFile이라는 두 가지 인스턴스 메서드를 제공하여 디렉터리와 파일을 삭제합니다. 존재하지 않는 파일 또는 디렉터리를 삭제하려고 하면 IsolatedStorageException이 throw됩니다. 이름에 와일드카드 문자가 포함되어 있는 경우 DeleteDirectoryIsolatedStorageFileException을 throw하고 DeleteFileArgumentException을 throw합니다.

디렉터리에 파일 또는 하위 디렉터리가 포함된 경우에는 DeleteDirectory가 실패합니다. 먼저 디렉터리의 내용을 모두 삭제한 다음 디렉터리 자체를 삭제하는 메서드가 DeletingFilesAndDirectories 예제의 일부로 정의되어 있습니다. 또한 GetFileNames 메서드를 사용하여 일치하는 모든 파일 목록을 가져온 다음 각 파일을 차례대로 삭제하여 와일드카드 문자를 적용한 사용자 고유의 DeleteFiles 메서드를 정의할 수 있습니다. 저장소의 가상 파일 시스템을 검색하는 데 대한 자세한 내용은 기존 파일 및 디렉터리 찾기를 참조하십시오.

DeletingFilesAndDirectories 예제

다음 코드 예제에서는 몇 개의 디렉터리와 파일을 만든 다음 삭제합니다.

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.

}

참고 항목

참조

IsolatedStorageFile

기타 리소스

격리된 저장소 작업 수행