StorageFolder.CreateFolderAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
CreateFolderAsync(String) |
在当前文件夹中创建具有指定名称的新子文件夹。 |
CreateFolderAsync(String, CreationCollisionOption) |
在当前文件夹中创建具有指定名称的新子文件夹。 此方法还指定在当前文件夹中已存在同名的子文件夹时要执行的操作。 |
CreateFolderAsync(String)
在当前文件夹中创建具有指定名称的新子文件夹。
public:
virtual IAsyncOperation<StorageFolder ^> ^ CreateFolderAsync(Platform::String ^ desiredName) = CreateFolderAsync;
/// [Windows.Foundation.Metadata.Overload("CreateFolderAsyncOverloadDefaultOptions")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFolder> CreateFolderAsync(winrt::hstring const& desiredName);
[Windows.Foundation.Metadata.Overload("CreateFolderAsyncOverloadDefaultOptions")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFolder> CreateFolderAsync(string desiredName);
function createFolderAsync(desiredName)
Public Function CreateFolderAsync (desiredName As String) As IAsyncOperation(Of StorageFolder)
参数
- desiredName
-
String
Platform::String
winrt::hstring
在当前文件夹中要创建的新子文件夹的名称。
返回
此方法完成后,它将返回表示新子文件夹的 StorageFolder 。
实现
- 属性
例外
文件夹名称包含无效字符,或者文件夹名称的格式不正确。 检查 desiredName 的值。
你没有在当前文件夹中创建子文件夹的权限。
示例
以下示例演示如何通过调用 CreateFolderAsync (String,CreationCollisionOption) 重载方法,在当前文件夹中创建新的 StorageFolder。 此示例显式指定 选项 的值,如果当前文件夹中已存在具有指定 desiredName 的文件夹,则会导致操作失败。
using Windows.Storage;
using System.Threading.Tasks;
// Get the app's local folder.
StorageFolder localFolder =
Windows.Storage.ApplicationData.Current.LocalFolder;
// Create a new subfolder in the current folder.
// Raise an exception if the folder already exists.
string desiredName = "Subfolder";
StorageFolder newFolder =
await localFolder.CreateFolderAsync(desiredName, CreationCollisionOption.FailIfExists);
IAsyncAction MainPage::ExampleCoroutineAsync()
{
// Get the app's local folder.
Windows::Storage::StorageFolder localFolder{ Windows::Storage::ApplicationData::Current().LocalFolder() };
// Create a new subfolder in the current folder.
// Throw an exception if it already exists.
std::wstring desiredName{ L"Subfolder" };
Windows::Storage::StorageFolder folder{ co_await localFolder.CreateFolderAsync(desiredName, Windows::Storage::CreationCollisionOption::FailIfExists) };
// Do something with folder.
}
//Get app's local folder
StorageFolder^ localFolder = Windows::Storage::ApplicationData::Current->LocalFolder;
// Create a new subfolder in the current folder
// Raise an exception if it already exists
String^ desiredName = "Subfolder";
create_task(localFolder->CreateFolderAsync(desiredName,Windows::Storage::CreationCollisionOption::FailIfExists)).then([](StorageFolder^ folder)
{
//Do something with folder
});
注解
默认情况下,此方法使用 CreationCollisionOption 枚举中的 FailIfExists 值。 也就是说,如果当前文件夹中已存在同名的子文件夹,此方法将引发异常。 如果要以其他方式处理文件夹名称冲突,请调用 CreateFolderAsync (String,CreationCollisionOption) 方法。
例如,如果尝试在虚拟文件夹(如库)中创建子文件夹或表示一组文件的容器的文件夹 (GetFoldersAsync 方法的某些重载的返回值) ,则 CreateFolderAsync 方法可能会失败。
另请参阅
适用于
CreateFolderAsync(String, CreationCollisionOption)
在当前文件夹中创建具有指定名称的新子文件夹。 此方法还指定在当前文件夹中已存在同名的子文件夹时要执行的操作。
public:
virtual IAsyncOperation<StorageFolder ^> ^ CreateFolderAsync(Platform::String ^ desiredName, CreationCollisionOption options) = CreateFolderAsync;
/// [Windows.Foundation.Metadata.Overload("CreateFolderAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFolder> CreateFolderAsync(winrt::hstring const& desiredName, CreationCollisionOption const& options);
[Windows.Foundation.Metadata.Overload("CreateFolderAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFolder> CreateFolderAsync(string desiredName, CreationCollisionOption options);
function createFolderAsync(desiredName, options)
Public Function CreateFolderAsync (desiredName As String, options As CreationCollisionOption) As IAsyncOperation(Of StorageFolder)
参数
- desiredName
-
String
Platform::String
winrt::hstring
在当前文件夹中要创建的新子文件夹的名称。
- options
- CreationCollisionOption
枚举值之一,确定在当前文件夹中已存在具有指定 desiredName 的子文件夹时如何处理冲突。
返回
此方法完成后,它将返回表示新子文件夹的 StorageFolder 。
实现
- 属性
例外
文件夹名称包含无效字符,或者文件夹名称的格式不正确。 检查 desiredName 的值。
你没有在当前文件夹中创建子文件夹的权限。
注解
如果当前文件夹中已存在具有指定 desiredName 的文件夹,则指定的 CreationCollisionOption 将确定如何处理冲突。