StorageFile.CopyAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
CopyAsync(IStorageFolder) |
Crée une copie du fichier dans le dossier spécifié. |
CopyAsync(IStorageFolder, String) |
Crée une copie du fichier dans le dossier spécifié et renomme la copie. |
CopyAsync(IStorageFolder, String, NameCollisionOption) |
Crée une copie du fichier dans le dossier spécifié et renomme la copie. Cette méthode spécifie également ce qu’il faut faire si un fichier portant le même nom existe déjà dans le dossier de destination. |
CopyAsync(IStorageFolder)
Crée une copie du fichier dans le dossier spécifié.
public:
virtual IAsyncOperation<StorageFile ^> ^ CopyAsync(IStorageFolder ^ destinationFolder) = CopyAsync;
/// [Windows.Foundation.Metadata.Overload("CopyOverloadDefaultNameAndOptions")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFile> CopyAsync(IStorageFolder const& destinationFolder);
[Windows.Foundation.Metadata.Overload("CopyOverloadDefaultNameAndOptions")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFile> CopyAsync(IStorageFolder destinationFolder);
function copyAsync(destinationFolder)
Public Function CopyAsync (destinationFolder As IStorageFolder) As IAsyncOperation(Of StorageFile)
Paramètres
- destinationFolder
- IStorageFolder
Dossier de destination dans lequel la copie du fichier est créée.
Retours
Une fois cette méthode terminée, elle retourne un StorageFile qui représente la copie du fichier créé dans le destinationFolder.
Implémente
- Attributs
Exceptions
Vous n’avez pas l’autorisation de copier un fichier dans le dossier de destination.
Exemples
L’exemple suivant copie un fichier dans le dossier spécifié et renomme la copie en appelant la méthode CopyAsync(IStorageFolder, String, NameCollisionOption). Cet exemple spécifie explicitement une valeur pour l’option qui remplace le fichier dans le dossier de destination si un fichier portant le nom spécifié existe déjà.
using Windows.Storage;
using System.Threading.Tasks;
// Get the app's temporary folder.
StorageFolder tempFolder = ApplicationData.Current.TemporaryFolder;
// Create a sample file in the temporary folder.
string newFileName = "test.txt";
StorageFile newFile = await tempFolder.CreateFileAsync(newFileName);
// Get the app's local folder to use as the destination folder.
StorageFolder localFolder = ApplicationData.Current.LocalFolder;
// Specify a new name for the copied file.
string renamedFileName = "renamed_test.txt";
// Copy the file to the destination folder and rename it.
// Replace the existing file if the file already exists.
StorageFile copiedFile = await newFile.CopyAsync(localFolder, renamedFileName, NameCollisionOption.ReplaceExisting);
IAsyncAction MainPage::CopyFileAsync()
{
// Get the app's temporary folder.
StorageFolder sourceFolder{ ApplicationData::Current().TemporaryFolder() };
StorageFolder targetFolder{ ApplicationData::Current().LocalFolder() };
// Choose source file name and new name for the copied file.
std::wstring newFileName{ L"test.txt" };
std::wstring copyFileName{ L"renamed_test.txt" };
// Create a sample file in the temporary folder.
StorageFile sourceFile{ co_await sourceFolder.CreateFileAsync(newFileName, Windows::Storage::CreationCollisionOption::ReplaceExisting) };
// Overwrite any existing file with the same name.
StorageFile copiedFile{ co_await sourceFile.CopyAsync(targetFolder, copyFileName, Windows::Storage::NameCollisionOption::ReplaceExisting) };
// Do something with copied file.
}
//Get the app's temporary folder
StorageFolder^ sourceFolder = ApplicationData::Current->TemporaryFolder;
StorageFolder^ targetFolder = ApplicationData::Current->LocalFolder;
// Choose source file name and new name for the copied file
String^ newFileName = "test.txt";
String^ copyFileName = "renamed_test.txt";
//Create a sample file in the temporary folder
auto copyFileTask = create_task(sourceFolder->CreateFileAsync(newFileName, Windows::Storage::CreationCollisionOption::ReplaceExisting)).then
([targetFolder, copyFileName](StorageFile^ sourceFile) -> task<StorageFile^>
{
//Overwrite any existing file with the same name
auto copyFileTask = sourceFile->CopyAsync(targetFolder, copyFileName, Windows::Storage::NameCollisionOption::ReplaceExisting);
return create_task(copyFileTask);
}).then([](StorageFile^ copiedFile) {
//do something with copied file
});
Remarques
Cette méthode utilise la valeur FailIfExists de l’énumération CreationCollisionOption par défaut. Autrement dit, cette méthode déclenche une exception si un fichier portant le même nom existe déjà dans le dossier de destination. Si vous souhaitez gérer une collision de nom de fichier d’une autre manière, appelez la méthode surchargée CopyAsync(IStorageFolder, String, NameCollisionOption).
Notes
Lorsque StorageFile.CopyAsync est utilisé pour copier un fichier chiffré vers une destination qui n’est pas chiffrée, l’appel échoue avec l’exception suivante : System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)
Voir aussi
S’applique à
CopyAsync(IStorageFolder, String)
Crée une copie du fichier dans le dossier spécifié et renomme la copie.
public:
virtual IAsyncOperation<StorageFile ^> ^ CopyAsync(IStorageFolder ^ destinationFolder, Platform::String ^ desiredNewName) = CopyAsync;
/// [Windows.Foundation.Metadata.Overload("CopyOverloadDefaultOptions")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFile> CopyAsync(IStorageFolder const& destinationFolder, winrt::hstring const& desiredNewName);
[Windows.Foundation.Metadata.Overload("CopyOverloadDefaultOptions")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFile> CopyAsync(IStorageFolder destinationFolder, string desiredNewName);
function copyAsync(destinationFolder, desiredNewName)
Public Function CopyAsync (destinationFolder As IStorageFolder, desiredNewName As String) As IAsyncOperation(Of StorageFile)
Paramètres
- destinationFolder
- IStorageFolder
Dossier de destination dans lequel la copie du fichier est créée.
- desiredNewName
-
String
Platform::String
winrt::hstring
Nouveau nom de la copie du fichier créé dans destinationFolder.
Retours
Une fois cette méthode terminée, elle retourne un StorageFile qui représente la copie du fichier créé dans le destinationFolder.
Notes
Lorsque StorageFile.CopyAsync est utilisé pour copier un fichier chiffré vers une destination qui n’est pas chiffrée, l’appel échoue avec l’exception suivante : System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)
Implémente
- Attributs
Exceptions
Vous n’avez pas l’autorisation de copier un fichier dans le dossier de destination.
Voir aussi
S’applique à
CopyAsync(IStorageFolder, String, NameCollisionOption)
Crée une copie du fichier dans le dossier spécifié et renomme la copie. Cette méthode spécifie également ce qu’il faut faire si un fichier portant le même nom existe déjà dans le dossier de destination.
public:
virtual IAsyncOperation<StorageFile ^> ^ CopyAsync(IStorageFolder ^ destinationFolder, Platform::String ^ desiredNewName, NameCollisionOption option) = CopyAsync;
/// [Windows.Foundation.Metadata.Overload("CopyOverload")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFile> CopyAsync(IStorageFolder const& destinationFolder, winrt::hstring const& desiredNewName, NameCollisionOption const& option);
[Windows.Foundation.Metadata.Overload("CopyOverload")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFile> CopyAsync(IStorageFolder destinationFolder, string desiredNewName, NameCollisionOption option);
function copyAsync(destinationFolder, desiredNewName, option)
Public Function CopyAsync (destinationFolder As IStorageFolder, desiredNewName As String, option As NameCollisionOption) As IAsyncOperation(Of StorageFile)
Paramètres
- destinationFolder
- IStorageFolder
Dossier de destination dans lequel la copie du fichier est créée.
- desiredNewName
-
String
Platform::String
winrt::hstring
Nouveau nom de la copie du fichier créé dans destinationFolder.
- option
- NameCollisionOption
L’une des valeurs d’énumération qui détermine comment gérer la collision si un fichier avec le paramètre souhaitéNewName spécifié existe déjà dans le dossier de destination.
Retours
Une fois cette méthode terminée, elle retourne un StorageFile qui représente la copie du fichier créé dans le destinationFolder.
Notes
Lorsque StorageFile.CopyAsync est utilisé pour copier un fichier chiffré vers une destination qui n’est pas chiffrée, l’appel échoue avec l’exception suivante : System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)
Implémente
- Attributs
Exceptions
Vous n’avez pas l’autorisation de copier un fichier dans le dossier de destination.