【发布时间】:2018-03-02 09:27:43
【问题描述】:
我是UWP 的新手,我需要通过将文件夹添加到项目来获取存储在文件夹中的所有文件的列表。
foreach (var f in Directory.GetFiles(Application.StartupPath + @"\Resources\Shapes\")
{
}
在上述代码中,"Application.StartupPath" 特定于 Forms
【问题讨论】:
我是UWP 的新手,我需要通过将文件夹添加到项目来获取存储在文件夹中的所有文件的列表。
foreach (var f in Directory.GetFiles(Application.StartupPath + @"\Resources\Shapes\")
{
}
在上述代码中,"Application.StartupPath" 特定于 Forms
【问题讨论】:
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 中添加文件。
【讨论】:
您需要使用 StorageFolder 类来访问存储在 App 文件夹中的本地文件。
请参阅reference。
【讨论】: