1

我正在尝试创建一个文件,然后写入该文件并从中读取......有点像我的应用程序每次加载时加载的设置。为什么这对我不起作用?我正在运行visual studio 2012,我认为当我在那里运行程序时,应该在项目文件夹中创建文件......我的方法是异步和无效的......真的不知道发生了什么哈哈

 StorageFile sampleFile = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFileAsync("config.txt", CreationCollisionOption.ReplaceExisting);

如何在本地文件夹中创建它?所以每次程序运行时,无论在哪台计算机上它都会创建文件并在用户关闭并重新打开程序时加载它?

4

2 回答 2

1

伙计,好问题!

这是执行您所要求的确切逻辑:

public class MyData
{
    public string Title { get; set; }
}

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
    }

    protected async override void OnNavigatedTo(NavigationEventArgs e)
    {
        this.DataContext = await LoadData();
    }

    protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
        SaveData(this.DataContext as MyData);
        base.OnNavigatedFrom(e);
    }

    private async Task<MyData> LoadData()
    {
        var _Data = await StorageHelper.ReadFileAsync<MyData>(
            this.GetType().ToString(), StorageHelper.StorageStrategies.Local);
        return _Data ?? new MyData() { Title = "Welcome" };
    }

    private async void SaveData(MyData data)
    {
        await StorageHelper.WriteFileAsync(
            this.GetType().ToString(), data, StorageHelper.StorageStrategies.Local);
    }
}

StorageHelper 类可以在这里找到。或在我的博客http://jerrynixon.com

祝你好运!

于 2013-06-08T03:44:46.947 回答
0

如何在本地文件夹中创建它?

你不能,而且无论如何你不应该...... Windows 应用商店应用程序在沙盒中运行,它们对文件系统的访问非常有限。基本上,您可以访问:

  • 您的应用程序LocalFolder不是安装文件夹)和RoamingFolder
  • 文档库、图片库、音乐库等,取决于您应用的功能(在应用清单中声明)
  • 用户使用文件选择器选择的文件

我认为就是这样......您还可以访问安装文件夹(Package.Current.InstallationFolder)中的文件,但仅用于阅读。

于 2013-06-06T23:26:13.957 回答