エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

クイックスタート: 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;
}


IsolatedStorageFileおよび IsolatedStorageFileStream のインスタンスは、使用後に破棄する必要があります。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;
}


表示:
© 2014 Microsoft