我试图确保将文件复制到另一个位置 - 出于 SQLite 的原因(请参阅文档库中的 UWP App SQLite Access 数据库)。
麻烦的是,如果我删除对目标 StorageFile 的访问(即拔出 USB 记忆棒然后尝试保存),如果文件写入失败,StorageFile 的 CopyAndReplaceAsync 方法将不会提及。
因此,尝试打开文件以测试它是否已成功写入(使用 GetFileFromPathAsync)会引发 COM 异常(因为该文件不存在),但即使在捕获错误后它也永远不会结束任务。
我试图弄清楚是否有更好的方法来做到这一点-我尝试使用 FileIO 来做同样的事情,但即使我正在编写的文件在 FutureAccessList 中,它似乎也不想授予访问权限.
我没有正确使用的任何想法/并发症/方法?
我拥有的相关代码如下:
try {
if (file != null) {
await file.CopyAndReplaceAsync(App.SaveFile);
var newFile = await StorageFile.GetFileFromPathAsync(App.SaveFile.Path);
}
//user prompt below