首页 > 解决方案 > 如何从资产文件夹中检索数据

问题描述

我正在构建一个应用程序,我在 Assets 文件夹中以JSON格式存储了一些数据。现在,当我的应用程序满足特定要求时,它应该读取文件、反序列化并显示数据。

这是我编写的代码-

StorageFile file = await StorageFile.GetFileFromPathAsync(@"Assets\appleTree.json");
string data = await FileIO.ReadTextAsync(file);
var serializer = new DataContractJsonSerializer(typeof(DataModel));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(data));
var result = (DataModel)serializer.ReadObject(ms);

问题是,在第 1 行,程序抛出了这个异常——

值不在预期范围内

我该如何解决这个问题?

在这里发帖之前,我在网上搜索并找不到任何令人满意的答案。

标签: c#fileexceptionfile-iouwp

解决方案


您需要使用StorageFile.GetFileFromApplicationUriAsync( here ) 方法来访问该Assets文件夹。例如:

var storageFile = await StorageFile.GetFileFromApplicationUriAsync(
    new Uri("ms-appx:///Assets/GuitarTest1.mp3")
);

(在Mark Heath 的博客文章中看到更多 关于这个主题的内容)


推荐阅读