정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

빠른 시작: Windows Phone 7의 파일 및 폴더 작업

2014-06-18

적용 대상: Windows Phone OS 7.1

IsolatedStorageFile 클래스는 데이터를 앱 로컬 폴더의 파일에 저장하는 데 사용됩니다. 또한 파일을 사용하는 경우 일반적으로 IsolatedStorageFileStream 클래스를 사용하여 파일에서 내용을 읽고 씁니다.

참고참고:

Windows Phone 8 앱을 개발하는 경우 빠른 시작: Windows Phone 8의 파일 및 폴더 작업을 참조하세요.

이 항목에는 다음 단원이 포함되어 있습니다.

다음 메서드는 일반적으로 IsolatedStorageFile을 사용할 때 사용됩니다.

GetUserStoreForApplication

로컬 폴더를 가져옵니다.

FileExists

지정한 경로가 로컬 폴더의 기존 파일을 참조하는지 여부를 확인합니다.

CreateFile

로컬 폴더에 파일을 만듭니다.

OpenFile

지정된 공유 및 액세스 권한 옵션을 사용하여 지정된 경로에 있는 로컬 폴더에서 파일을 엽니다. 이 메서드는 파일 스트림이 포함된 IsolatedStorageFileStream 개체를 반환합니다.

DeleteFile

로컬 폴더에서 파일을 삭제합니다.

DirectoryExists

지정한 경로가 로컬 폴더의 기존 디렉터리를 참조하는지 여부를 확인합니다.

CreateDirectory

로컬 폴더에 디렉터리를 만듭니다.

DeleteDirectory

로컬 폴더에서 디렉터리를 삭제합니다.

Remove

IsolatedStorageFile 개체 범위와 모든 콘텐츠를 제거합니다.

다음 이미지에서는 로컬 폴더에서 텍스트를 쓰고 읽는 샘플 앱을 보여 줍니다.

Quickstart - Files  & Folders

이 UI를 만들려면 MainPage.xaml 파일에서 ContentPanel이라는 Grid를 다음 XAML로 바꿉니다.

<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0">
    <TextBox 
        Name="textBox1" 
        HorizontalAlignment="Left"
        Height="72" 
        Margin="0,22,0,0" 
        TextWrapping="Wrap" 
        Text="Enter text here." 
        VerticalAlignment="Top" Width="456"/>
    <Button 
        Name='btnWrite' 
        Content="Write"
        HorizontalAlignment="Left" 
        Margin="10,94,0,0" 
        VerticalAlignment="Top"
        Width="156" 
        Click="btnWrite_Click"/>        
    <TextBlock 
        Name="textBlock1" 
        HorizontalAlignment="Left"
        Margin="10,293,0,0" 
        TextWrapping="Wrap" Text=""
        VerticalAlignment="Top" 
        Height="61" 
        Width="436"/>     
    <Button 
        Name="btnRead" 
        Content="Read"
        HorizontalAlignment="Left" 
        Margin="10,374,0,0" 
        VerticalAlignment="Top"
        Width="156" 
        IsEnabled="False"
        Click="btnRead_Click"/>
</Grid>

다음 코드에서는 폴더를 만들고 텍스트 파일에 쓰는 방법을 보여 줍니다. DataFile.txt라는 파일이나 DataFolder라는 폴더가 아직 없는 경우 해당 파일과 폴더를 만듭니다. IsolatedStorageFileStream이 생성되어 데이터를 씁니다.


private void btnWrite_Click(object sender, RoutedEventArgs e)
{
    // Get the local folder.
    System.IO.IsolatedStorage.IsolatedStorageFile local =
        System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication();

    // Create a new folder named DataFolder.
    if (!local.DirectoryExists("DataFolder"))
        local.CreateDirectory("DataFolder");

    // Create a new file named DataFile.txt.
    using (var isoFileStream = 
            new System.IO.IsolatedStorage.IsolatedStorageFileStream(
                "DataFolder\\DataFile.txt", 
                System.IO.FileMode.OpenOrCreate,
                    local))
    {
        // Write the data from the textbox.
        using (var isoFileWriter = new System.IO.StreamWriter(isoFileStream))
        {
            isoFileWriter.WriteLine(this.textBox1.Text);
        }
    }

    // Update UI.
    this.btnWrite.IsEnabled = false;
    this.btnRead.IsEnabled = true;
}


IsolatedStorageFileIsolatedStorageFileStream의 인스턴스는 사용 후 삭제되어야 합니다. using 문은 자동으로 이 작업을 수행하므로 이 문을 사용하는 것이 좋습니다.

다음 코드에서는 텍스트 데이터를 IsolatedStorageFileStream으로 읽는 방법을 보여 줍니다.


private void btnRead_Click(object sender, RoutedEventArgs e)
{
    // Obtain a virtual store for the application.
    System.IO.IsolatedStorage.IsolatedStorageFile local =
        System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication();

    // Specify the file path and options.
    using (var isoFileStream =
            new System.IO.IsolatedStorage.IsolatedStorageFileStream
                ("DataFolder\\DataFile.txt", System.IO.FileMode.Open, local))
    {
        // Read the data.
        using (var isoFileReader = new System.IO.StreamReader(isoFileStream))
        {
            this.textBlock1.Text = isoFileReader.ReadLine();
        }
    }
    // Update UI.
    this.btnWrite.IsEnabled = true;
    this.btnRead.IsEnabled = false;
}


표시: