正在获取UWP应用程序文件夹中的所有文件

本文关键字:文件 文件夹 获取 UWP 应用程序 | 更新日期: 2023-09-27 18:22:04

对于UWP,很容易将应用程序本地文件夹中的所有文件获取为:

IReadOnlyList<StorageFile> files = await ApplicationData.Current.LocalFolder.GetFilesAsync();

您现在可以迭代文件列表,甚至可以获得有关单个文件的更多信息。

我想要一个类似的应用程序文件夹的全文件getter,例如,考虑存储应用程序*.png文件的/Assets文件夹。具有已知名称的单个文件是没有问题的;我可以很容易地将其称为:

StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///Assets/StoreLogo.png"))

因此,我的问题是,是否有类似的方法可以获取应用程序文件夹中的所有文件,例如/Assets文件夹?从逻辑上讲,它应该类似于StorageFile.GetFilesFromApplicationFolderUriAsync(new Uri(@"ms-appx:///Assets")),但不知道是否存在上面显示的LocalFolder的等价物。

正在获取UWP应用程序文件夹中的所有文件

您可以使用Package.InstalledLocation访问安装文件夹。因此,您的代码可以如下所示:

StorageFolder appInstalledFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder assets = await appInstalledFolder.GetFolderAsync("Assets");
var files = await assets.GetFilesAsync();
var storageFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync("Assets");
var files = await storageFolder.GetFilesAsync();

https://learn.microsoft.com/en-us/uwp/api/windows.storage.applicationdata