c# - 如何从资产文件夹中检索数据
问题描述
我正在构建一个应用程序,我在 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 行,程序抛出了这个异常——
值不在预期范围内
我该如何解决这个问题?
在这里发帖之前,我在网上搜索并找不到任何令人满意的答案。
解决方案
您需要使用StorageFile.GetFileFromApplicationUriAsync
( here ) 方法来访问该Assets
文件夹。例如:
var storageFile = await StorageFile.GetFileFromApplicationUriAsync(
new Uri("ms-appx:///Assets/GuitarTest1.mp3")
);
(在Mark Heath 的博客文章中看到更多 关于这个主题的内容)
推荐阅读
- python - Pandas groupby 应用日期时间异常
- jenkins - Jenkins sh 步骤中的 Groovy 多行 shell 脚本不返回标准输出
- php - Laravel - 上传图像和视频数组
- r - 订购电话号码
- node.js - 如果 TCP Server(nodejs) 发送没有分隔符“\n”的数据,TCP Client(golang) 如何知道数据何时结束
- python - 在 Python re 中,单词边界检测似乎对我不起作用
- excel - 将选定单元格公式转换为选定工作表中的值
- c# - 无法在 C# 的列表中显示递增的值
- android - 如何在 android 中流式传输 mp4 视频
- android - 如何在 gradle 中为不同的产品风格应用不同的插件?