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

Getting all files in UWP app folder

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

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

您现在可以遍历 files 列表,甚至可以获取有关单个文件的更多信息。

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

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

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

您可以使用 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://docs.microsoft.com/en-us/uwp/api/windows.storage.applicationdata