StorageFolder.CreateFileAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
CreateFileAsync(String) |
Crea un nuovo file con il nome specificato nella cartella corrente. |
CreateFileAsync(String, CreationCollisionOption) |
Crea un nuovo file nella cartella corrente. Questo metodo specifica anche cosa fare se nella cartella corrente esiste già un file con lo stesso nome. |
CreateFileAsync(String)
Crea un nuovo file con il nome specificato nella cartella corrente.
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)
Parametri
- desiredName
-
String
Platform::String
winrt::hstring
Nome del nuovo file da creare nella cartella corrente.
Restituisce
Al termine di questo metodo, restituisce un oggetto StorageFile che rappresenta il nuovo file.
Implementazioni
- Attributi
Eccezioni
Il nome file contiene caratteri non validi o il formato del nome file non è corretto. Controllare il valore di desiredName.
Non si dispone dell'autorizzazione per creare un file nella cartella corrente.
Esempio
Nell'esempio seguente viene illustrato come creare un nuovo file nella cartella corrente chiamando il metodo di overload CreateFileAsync (String, CreationCollisionOption). In questo esempio viene specificato in modo esplicito un valore per le opzioni che causano l'esito negativo dell'operazione se nella cartella corrente esiste già un file con il valore desiredName specificato.
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.
});
Commenti
Questo metodo usa il valore FailIfExists dell'enumerazione CreationCollisionOption per impostazione predefinita. Questo metodo genera quindi un'eccezione se nella cartella corrente esiste già un file con lo stesso nome. Se si vuole gestire un conflitto di nomi file in modo diverso, chiamare il metodo CreateFileAsync(String, CreationCollisionOption).
Se si tenta di creare un file in una cartella virtuale come una libreria o una cartella che rappresenta un contenitore per un gruppo di file ( ad esempio, il valore restituito da alcuni overload del metodo GetFoldersAsync ), il metodo CreateFileAsync potrebbe non riuscire.
Vedi anche
Si applica a
CreateFileAsync(String, CreationCollisionOption)
Crea un nuovo file nella cartella corrente. Questo metodo specifica anche cosa fare se nella cartella corrente esiste già un file con lo stesso nome.
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)
Parametri
- desiredName
-
String
Platform::String
winrt::hstring
Nome del nuovo file da creare nella cartella corrente.
- options
- CreationCollisionOption
Uno dei valori di enumerazione che determina come gestire la collisione se esiste già un file con il valore desiredName specificato nella cartella corrente.
Restituisce
Al termine di questo metodo, restituisce un oggetto StorageFile che rappresenta il nuovo file.
Implementazioni
- Attributi
Eccezioni
È stato specificato CreationCollisionOption.FailIfExists e un file con il valore desiredName specificato esiste già nella cartella corrente.
Il formato del nome file non è corretto. Controllare il valore di desiredName.
Non si dispone dell'autorizzazione per creare un file nella cartella corrente.