分離ストレージ関連の作業

先日扱った Silverlight の分離ストレージには、ディレクトリやファイルを作成することも可能です。

using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
    // ディレクトリの作成
    string dirPath = "sample";
    store.CreateDirectory(dirPath);

    // ファイルの作成
    string filePath = Path.Combine(dirPath, "test.txt");
    using (var stream = store.CreateFile(filePath))
    using (StreamWriter writer = new StreamWriter(stream))
    {
        // ファイルに文字列を書き込む
        writer.WriteLine("foo");
        writer.WriteLine("bar");
    }

    // ファイルの読み込み
    using (var stream = store.OpenFile(filePath, FileMode.Open))
    using (StreamReader reader = new StreamReader(stream))
    {
        // ファイルの中身を全て読み込む
        _textBox.Text = reader.ReadToEnd();
    }

    // ファイルの削除
    if (store.FileExists(filePath))
    {
        store.DeleteFile(filePath);
    }

    // ディレクトリの削除
    if (store.DirectoryExists(dirPath))
    {
        store.DeleteDirectory(dirPath);
    }
}

IsolatedStorageFileStream とStreamWriter や StreamReader を組み合わせることで、分離ストレージ内に作成したファイルの読み書きが行えます。