StorageFolder.GetFolderAsync(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает вложенную папку с указанным именем из текущей папки.
public:
virtual IAsyncOperation<StorageFolder ^> ^ GetFolderAsync(Platform::String ^ name) = GetFolderAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFolder> GetFolderAsync(winrt::hstring const& name);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFolder> GetFolderAsync(string name);
function getFolderAsync(name)
Public Function GetFolderAsync (name As String) As IAsyncOperation(Of StorageFolder)
Параметры
- name
-
String
Platform::String
winrt::hstring
Имя (или путь относительно текущей папки) получаемой вложенной папки.
Возвращаемое значение
После успешного завершения этого метода возвращается объект StorageFolder , представляющий указанную вложенную папку.
Реализации
- Атрибуты
Исключения
Указанная папка не существует. Проверьте значение имени.
У вас нет разрешения на доступ к указанной папке. Дополнительные сведения см. в разделе Разрешения на доступ к файлам.
Путь не может быть в формате URI (например, /Assets). Проверьте значение имени.
Примеры
В следующем примере показано, как получить вложенную папку из текущей папки путем вызова метода GetFolderAsync. В этом примере также показано, как получить вложенную папку из вложенной папки текущей папки, указав относительный путь.
using Windows.Storage;
using System.Threading.Tasks;
// Get the app's local folder.
StorageFolder localFolder = ApplicationData.Current.LocalFolder;
// Create 2 levels of subfolders in the app's local folder.
string name1 = "Subfolder1";
StorageFolder subFolder1 = await localFolder.CreateFolderAsync(name1);
string name2 = "Subfolder2";
StorageFolder subFolder2 = await subFolder1.CreateFolderAsync(name2);
// Get the subfolder of the app's local folder.
string level1FolderName = "Subfolder1";
StorageFolder level1Folder = await localFolder.GetFolderAsync(level1FolderName);
// Get the subfolder of the subfolder by providing a relative path.
string level2FolderName = @"Subfolder1\Subfolder2";
StorageFolder level2Folder = await localFolder.GetFolderAsync(level2FolderName);
IAsyncAction MainPage::ExampleCoroutineAsync()
{
// Get the app's local folder.
Windows::Storage::StorageFolder localFolder{ Windows::Storage::ApplicationData::Current().LocalFolder() };
// Create two levels of subfolders in the app's local folder.
std::wstring name1{ L"Subfolder1" };
std::wstring name2{ L"Subfolder2" };
std::wstring level2FolderName{ L"Subfolder1\\Subfolder2" };
Windows::Storage::StorageFolder subFolder1{ co_await localFolder.CreateFolderAsync(name1) };
Windows::Storage::StorageFolder subFolder2{ co_await subFolder1.CreateFolderAsync(name2) };
// Get the subfolder of the subfolder by providing a relative path.
Windows::Storage::StorageFolder level2FolderFromRelativePath{ co_await localFolder.GetFolderAsync(level2FolderName) };
}
// Get the app's local folder
StorageFolder^ localFolder = ApplicationData::Current->LocalFolder;
// Create 2 levels of subfolders in the app's local folder.
String^ name1 = "Subfolder1";
String^ name2 = "Subfolder2";
String^ level2FolderName = "Subfolder1\\Subfolder2";
create_task(localFolder->CreateFolderAsync(name1)).then([=](StorageFolder^ subFolder1) -> task <StorageFolder^> {
return create_task(subFolder1->CreateFolderAsync(name2));
}).then([=](StorageFolder^ subFolder2) -> task<StorageFolder^> {
// Get the subfolder of the subfolder
// by providing a relative path.
return create_task(localFolder->GetFolderAsync(level2FolderName));
});