StorageFolder.CreateFileAsync 方法

定义

重载

CreateFileAsync(String)

在当前文件夹中创建具有指定名称的新文件。

CreateFileAsync(String, CreationCollisionOption)

在当前文件夹中创建新文件。 此方法还指定在当前文件夹中已存在同名文件时要执行的操作。

CreateFileAsync(String)

在当前文件夹中创建具有指定名称的新文件。

public:
 virtual IAsyncOperation<StorageFile ^> ^ CreateFileAsync(Platform::String ^ desiredName) = CreateFileAsync;
/// [Windows.Foundation.Metadata.Overload("CreateFileAsyncOverloadDefaultOptions")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFile> CreateFileAsync(winrt::hstring const& desiredName);
[Windows.Foundation.Metadata.Overload("CreateFileAsyncOverloadDefaultOptions")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFile> CreateFileAsync(string desiredName);
function createFileAsync(desiredName)
Public Function CreateFileAsync (desiredName As String) As IAsyncOperation(Of StorageFile)

参数

desiredName
String

Platform::String

winrt::hstring

在当前文件夹中要创建的新文件的名称。

返回

此方法完成后,它将返回一个代表新文件的 StorageFile

实现

M:Windows.Storage.IStorageFolder.CreateFileAsync(System.String) M:Windows.Storage.IStorageFolder.CreateFileAsync(Platform::String) M:Windows.Storage.IStorageFolder.CreateFileAsync(winrt::hstring)
属性

例外

文件名包含无效字符,或者文件名的格式不正确。 检查 desiredName 的值。

你没有在当前文件夹中创建文件的权限。

示例

以下示例演示如何通过调用 CreateFileAsync (String、CreationCollisionOption) 重载方法在当前文件夹中创建新文件。 此示例显式指定 选项 的值,如果当前文件夹中已存在具有指定 desiredName 的文件,则会导致操作失败。

using Windows.Storage;
using System.Threading.Tasks;

// Get the app's local folder.
StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

// Create a new file in the current folder.
// Raise an exception if the file already exists.
string desiredName = "test.txt";
StorageFile newFile = await localFolder.CreateFileAsync(desiredName, CreationCollisionOption.FailIfExists);
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    // Gets the app's local folder.
    Windows::Storage::StorageFolder localFolder{ Windows::Storage::ApplicationData::Current().LocalFolder() };

    // Create a new file in the current folder, and throw an exception if the file already exists.
    std::wstring desiredName{ L"test.txt" };
    StorageFile newFile{ co_await localFolder.CreateFileAsync(desiredName, Windows::Storage::CreationCollisionOption::FailIfExists) };
    // Do something with the new file.
}
//Gets the app's local folder
StorageFolder^ localFolder = ApplicationData::Current->LocalFolder;

//Create a new file in the current folder
// Raise an exception if the file already exists
String^ desiredName = "test.txt";
auto createFileTask = create_task(localFolder->CreateFileAsync(desiredName, Windows::Storage::CreationCollisionOption::FailIfExists));
createFileTask.then([](StorageFile^ newFile)
{
  //Do something with the new file.
 });

注解

默认情况下,此方法使用 CreationCollisionOption 枚举中的 FailIfExists 值。 也就是说,如果当前文件夹中已存在同名的文件,此方法将引发异常。 如果要以其他方式处理文件名冲突,请调用 CreateFileAsync (String,CreationCollisionOption) 方法。

例如,如果尝试在虚拟文件夹中创建文件(如库)或表示一组文件的容器的文件夹 (,则 GetFoldersAsync 方法的某些重载的返回值) , 则 CreateFileAsync 方法可能会失败。

另请参阅

适用于

CreateFileAsync(String, CreationCollisionOption)

在当前文件夹中创建新文件。 此方法还指定在当前文件夹中已存在同名文件时要执行的操作。

public:
 virtual IAsyncOperation<StorageFile ^> ^ CreateFileAsync(Platform::String ^ desiredName, CreationCollisionOption options) = CreateFileAsync;
/// [Windows.Foundation.Metadata.Overload("CreateFileAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFile> CreateFileAsync(winrt::hstring const& desiredName, CreationCollisionOption const& options);
[Windows.Foundation.Metadata.Overload("CreateFileAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFile> CreateFileAsync(string desiredName, CreationCollisionOption options);
function createFileAsync(desiredName, options)
Public Function CreateFileAsync (desiredName As String, options As CreationCollisionOption) As IAsyncOperation(Of StorageFile)

参数

desiredName
String

Platform::String

winrt::hstring

在当前文件夹中要创建的新文件的名称。

options
CreationCollisionOption

枚举值之一,确定在当前文件夹中已存在具有指定 desiredName 的文件时如何处理冲突。

返回

此方法完成后,它将返回一个代表新文件的 StorageFile

实现

M:Windows.Storage.IStorageFolder.CreateFileAsync(System.String,Windows.Storage.CreationCollisionOption) M:Windows.Storage.IStorageFolder.CreateFileAsync(Platform::String,Windows.Storage.CreationCollisionOption) M:Windows.Storage.IStorageFolder.CreateFileAsync(winrt::hstring,Windows.Storage.CreationCollisionOption)
属性

例外

您指定的 CreationCollisionOption.FailIfExists 和具有指定 desiredName 的文件已存在于当前文件夹中。

文件名的格式不正确。 检查 desiredName 的值。

你没有在当前文件夹中创建文件的权限。

另请参阅

适用于