【发布时间】:2017-02-11 06:11:11
【问题描述】:
出于 SQLite 的原因,我正在尝试确保将文件复制到另一个位置(请参阅 UWP App SQLite Access database in Documents Library)。
问题在于,如果我删除了对目标 StorageFile 的访问权限(即拔出 U 盘然后尝试保存),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
【问题讨论】:
标签: c# windows-runtime uwp storagefile sqlite.net