C# · 12月 26, 2021

c# – 获取UWP应用文件夹中的所有文件

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

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

您现在可以对文件列表进行迭代,甚至获取有关各个文件的更多信息.

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

StorageFile.GetFileFromApplicationUriAsync(new Uri(@“ms-appx:///Assets/Storelogo.png”))

因此,我的问题是,将应用程序文件夹中的所有文件(例如/ Assets文件夹)类似?在逻辑上,它应该像StorageFile.GetFilesFromApplicationFolderUriAsync(新的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();