c# - 在存储中找不到二进制文件
问题描述
我正在尝试访问和读取我的项目中的二进制文件,但我不断收到以下错误:
该系统找不到指定的文件。(来自 HRESULT 的异常:0x80070002)
我首先尝试像这样访问它:
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("myBinaryFile");
Stream stream = (await file.OpenReadAsync()).AsStreamForRead();
BinaryReader brFile = new BinaryReader(stream);
然后我尝试使用它来访问它:
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///myBinaryFile"));
但是他们俩都返回了相同的错误。有任何想法吗?
解决方案
问题是你得到的文件路径错误。您可以使用“ms-appdata:///local/”协议访问本地应用程序数据存储中的文件。例如:
ms-appdata:///local/myBinaryFile
您也可以使用ApplicationData.Current.LocalFolder API 获取文件,请确保文件已存储在本地文件夹中。文件夹路径看起来像
C:\Users\Account\AppData\Local\Packages\3e8cf79a-4746-457c-8f51-73809c7876fa_75cr2b68xxxx\LocalState
使用ms-appx
URI 方案来引用来自应用程序包的文件。你也可以使用InstalledLocation
API。
有关更多详细信息,您可以参考URI 方案
推荐阅读
- python - 学习python,我不明白>或<的结果
- git - 你只有一个提交被错误地签署了
- javascript - 如何使用任何脚本从 URL 列表中找出批量文本
- .net-core - 当我停止调试我的 dotnetcore web api 时如何停止 NPM
- user-interface - 空手道框架找不到定位器
- r - 为什么 R 将我在一个级别的条目转换为 NA?
- python - Azure Databricks python 命令显示当前集群配置
- python - GCP Bigquery 分页 Python
- javascript - 如何循环对象并将它们呈现为:
- javascript - socket.io 的 CORS 问题