WinRT应用程序并循环遍历目录

时间:2018-03-04 07:20:47

标签: c# windows-runtime winrt-xaml windows-8.1-universal winrt-component

我正在处理我的第一个 WinRT 应用程序,我似乎无法找到任何允许我遍历目录并获取其中的文件名的代码?目录

我发现有很多代码可以在正常的winform,wpf和console中完成,但对于 Winrt 变种没什么。

最接近我的代码:

Uri dataUri = new Uri("ms-appx:///DataModel/SampleData.json");

但这似乎只是在我自己的项目中得到文件?

我将如何扫描正常目录,例如" c:\ something \ something"?

1 个答案:

答案 0 :(得分:0)

  

我正在使用我的第一个WinRT应用程序而且我似乎无法找到任何允许我遍历目录并获取该目录中的文件名的代码?

如果要遍历UWP中的目录,可以使用GetFilesAsync从目录中获取文件列表。

但是,UWP运行沙盒并且对文件系统的访问权限非常有限。在大多数情况下,他们只能直接访问他们的安装文件夹和他们的应用程序数据文件夹。只有通过代理流程才能访问其他位置。

您可以通过FileOpenPickerFolderPicker访问@"c:\something\something"

var picker = new Windows.Storage.Pickers.FileOpenPicker();
picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".jpeg");
picker.FileTypeFilter.Add(".png");

Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
if (file != null)
{
    // Application now has read/write access to the picked file

}
else
{

}

这是你可以参考的official tutorial