获取UWP app文件夹中的所有文件

时间:2015-11-16 19:05:53

标签: c# windows-runtime windows-10 uwp

对于UWP,可以轻松地将应用程序本地文件夹中的所有文件作为:

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

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

我想为app文件夹添加类似的all-file-getter,例如,考虑存储app *。png 文件的 / Assets 文件夹。 具有已知名称的单个文件没有问题;我可以很容易地将它称为:

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

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

2 个答案:

答案 0 :(得分:38)

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

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

答案 1 :(得分:0)

var storageFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync("Assets");
var files = await storageFolder.GetFilesAsync();

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