如何从我获取所有文件列表的文件夹的本地路径?

时间:2017-09-21 06:31:55

标签: c# uwp

我是UWP的新手,我需要通过向项目添加文件夹来获取存储在文件夹中的所有文件的列表。

foreach (var f in Directory.GetFiles(Application.StartupPath + @"\Resources\Shapes\") 
{ 
}

以上代码"Application.StartupPath"特定于Forms

2 个答案:

答案 0 :(得分:0)

您需要使用StorageFolder类来访问存储在App文件夹中的本地文件。

见下面的参考 - https://docs.microsoft.com/en-us/uwp/api/windows.storage.storagefolder

答案 1 :(得分:0)

UWP与一般桌面应用程序不同。 UWP应用程序在沙箱中运行,并且对文件系统的访问权限非常有限。

您需要Skip the path: stick to the StorageFile。请阅读Rob的博客了解更多详细信息。

  

我需要通过向项目添加文件夹来获取存储在文件夹中的所有文件的列表。

如果要从项目目录中的文件夹中获取所有文件,可以使用已安装软件包的位置。请参阅以下代码示例:

StorageFolder subfolder = await Package.Current.InstalledLocation.GetFolderAsync("subFolder");
IReadOnlyList<StorageFile> files = await subfolder.GetFilesAsync();
foreach (var file in files)
{
    Debug.WriteLine(file.Name);
}

但是,如果要将文件添加到此文件夹,则不允许这样做。已安装的软件包是只读的。

在UWP中,您可以选择在application data中写入数据。例如,您可以在Windows.Storage.ApplicationData.Current.LocalFolder中添加文件。