如何获取所有子文件夹及其文件 - UWP



>我在桌面上有一个名为student_names的固定文件夹,它包含子文件夹,每个子文件夹都包含其文件。现在我想将这些子文件夹及其相应的文件名存储在数组列表中。怎么可能?

UWP 应用程序无法直接访问文件夹(应用程序文件夹除外(,除非用户显式提供对文件夹的访问权限(至少一次(。

因此,为了始终能够读取/写入特定文件夹,您需要首先要求用户选择特定文件夹。用户选择一个文件夹后,您可以将其保存到FutureAccessList这将为您提供一个令牌,以直接访问该文件夹(无需用户干预(以备将来使用。

 var picker = new FolderPicker();
 picker.FileTypeFilter.Add("*");
 var folder = await picker.PickSingleFolderAsync();
 //add selected folder to FutureAccessList
StorageApplicationPermissions.FutureAccessList.AddOrReplace("futureAccessToken", folder);

从下次启动(或您实现的任何逻辑(中,您可以访问该文件夹并列出其内容

 var folder = await StorageApplicationPermissions.FutureAccessList.
                 GetFolderAsync("futureAccessToken");
 IReadOnlyList<StorageFile> fileList = await folder.GetFilesAsync();

因此,您只需要提供对父文件夹的访问权限(在您的情况下是student_names(,然后您就可以访问其子文件夹和文件。

希望这有帮助..

不幸的是,这可能是不可能的。自从我上次在 UWP 应用程序上工作以来已经有一段时间了,但无法访问几个指定文件夹(例如,应用文件夹和其他一些特殊文件夹,如文档、音乐、图片等,如果你的应用声明了适当的权限(之外的文件系统。无法访问桌面或 C:\ 上的文件夹文件夹一般。

最新更新