我正在尝试访问和读取项目中的二进制文件,但始终出现以下错误:
系统找不到指定的文件。 (来自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"));
但是他们两个都返回了相同的错误。 有什么想法吗?
答案 0 :(得分:1)
问题是您获取的文件路径错误。您可以使用“ ms-appdata:/// local /”协议访问l ocal应用数据商店中的文件。例如:
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 schemes