在存储中找不到二进制文件

Cannot find binary file in storage

我正在尝试访问和读取我项目中的二进制文件,但我不断收到以下错误:

The system cannot find the file specified. (Exception from 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/" 协议访问 llocal app data 存储中的文件。例如:

ms-appdata:///local/myBinaryFile

您也可以使用ApplicationData.Current.LocalFolder API获取文件,请确保该文件已存储在本地文件夹中。文件夹路径看起来像 C:\Users\Account\AppData\Local\Packagese8cf79a-4746-457c-8f51-73809c7876fa_75cr2b68xxxx\LocalState

使用 ms-appx URI 方案来引用来自您的 应用程序包 的文件。你也可以使用 InstalledLocation API。

更详细的可以参考URI schemes