如何将UWP StorageFile转换为.NET FileInfo?

时间:2017-10-30 14:16:56

标签: .net uwp .net-standard

现在UWP支持.NET Standard 2.0,它可以访问更多的System.IO命名空间,包括FileinfoDirectoryInfo

如何将UWP StorageFile转换为Fileinfo?还有针对DirectoryInfo的StorageFolder?

尝试打开生成的Fileinfo时,天真的方法(获取StorageItem的完整路径并使用它构造Fileinfo)失败了,如果可能的话,我真的想放弃使用PCLStorage

1 个答案:

答案 0 :(得分:2)

System.IO.File和System.IO.FileInfo早已可用于UWP应用程序。它们不是.Net Standard 2.0

的新功能

StorageFile和FileInfo不做同样的事情,并且通常不可互换。你没有说出你得到了什么错误,但我的猜测是它是AccessDenied,因为你的应用程序无法直接访问你想要使用的路径。

默认情况下,应用只能直接访问其ApplicationData和InstalledLocations。他们可以使用System.IO直接访问这些位置。要访问已被用户授予访问权限的其他位置(直接通过文件选择器,隐式地通过包功能等),应用程序需要通过StorageFile和StorageFolder类通过文件代理。

你可以从IStorageHandleAccess获得一个代理的Win32文件HANDLE并从中初始化一个System.IO.File,但是FileInfo并没有提供一种从HANDLE构建的方法。

相关问题