Windows 8应用程序中的Windows存储

本文关键字:Windows 存储 应用程序 | 更新日期: 2023-09-27 17:51:16

我使用以下代码将一些内容保存到IsolatedStorage windows phone应用程序-

    public void SaveContent(string content)
    {
        using (IsolatedStorageFile userStore =
        IsolatedStorageFile.GetUserStoreForApplication())
        using (IsolatedStorageFileStream stream =
        userStore.CreateFile(this.Filename))
        using (StreamWriter writer = new StreamWriter(stream))
        {
            writer.Write(content);
        }
    }

现在我想将相同的移植到我的windows 8应用程序,但在我可以找到的w8的StorageFile中没有类似的代码。有人能帮我一下吗?

Windows 8应用程序中的Windows存储

您可以使用LocalFolder .

var localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

对于写作,你有几个选择。如果你有IBuffer那么你可以用WriteBufferAsync

var file = await localFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
var buffer = GetBufferFromString("this is an example");
await FileIO.WriteBufferAsync(file, buffer);

另一个选择是使用流写。

var file = await localFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
   using(var outputStream = stream.GetOutputStreamAt(0))
   {
       var dataWriter = new Windows.Storage.Streams.DataWriter(outputStream);
       dataWriter.WriteBytes(...);
       await dataWriter.StoreAsync();
       dataWriter.DetachStream();
       await outputStream.FlushAsync();
   }
}
快速入门:读写文件(使用c#/VB/c++和XAML的Windows Store应用程序)

您可以在这里阅读更多关于存储的信息