C# Copiar para

Resumo : neste tutorial, você aprenderá como usar C# FileInfo CopyTo()para copiar um arquivo existente para um novo arquivo.

Introdução ao método C# FileInfo CopyTo()

O FileInfo.CopyTo()permite copiar um arquivo existente para um novo arquivo:

FileInfo CopyTo (string destFileName);Linguagem de código:  C#  ( cs )

Se destFileNameexistir ou ocorrer um erro durante a cópia do arquivo, será CopyTogerado um arquivo IOException.

Para substituir o arquivo de destino, você usa uma sobrecarga do CopyTo()método:

FileInfo CopyTo (string destFileName, bool overwrite);Linguagem de código:  C#  ( cs )

Quando você define o overwriteargumento como true, o CopyTo()método substituirá o arquivo de destino, se ele existir. Mas se você definir a substituição como false, o CopyTo()arquivo de destino não será sobrescrito.

O CopyTo()método retorna um FileInfoobjeto que possui métodos para operações comuns de arquivos, como copiar, excluir, mover e abrir arquivos.

Observe que se você realizar múltiplas operações no mesmo arquivo, é mais eficiente usar o FileInfoobjeto do que o método estático da classe File.

Exemplo de método FileInfo Copy() em C#

O exemplo a seguir demonstra como usar o FileInfo Copy()método para copiar o readme.txtarquivo do C:\tempdiretório para o C:\backupdiretório e substituir se o arquivo existir:

using static System.Console;

string filename = @"C:\temp\readme.txt";

var file = new FileInfo(filename);

try
{
    file.CopyTo(
         Path.Combine(@"C:\backup", "readme.txt"),
         true
    );
}
catch (IOException ex)
{
    WriteLine(ex.Message);
}
Linguagem de código:  C#  ( cs )

Como funciona.

Primeiro, defina um caminho para o arquivo a ser copiado:

string filename = @"C:\temp\readme.txt";Linguagem de código:  C#  ( cs )

Segundo, crie uma nova instância do FileInfoobjeto:

var file = new FileInfo(filename);Linguagem de código:  C#  ( cs )

Terceiro, copie o arquivo usando o CopyTo()método do FileInfoobjeto:

try
{
    file.CopyTo(
         Path.Combine(@"C:\backup", "readme.txt"),
         true
    );
}
catch (IOException ex)
{
    WriteLine(ex.Message);
}Linguagem de código:  C#  ( cs )

Como CopyTo()pode gerar uma exceção, nós a envolvemos em um try...catchbloco.

Resumo

  • Use o C# FileInfo CopyTo()para copiar um arquivo existente para um novo arquivo e substituí-lo se o arquivo de destino existir.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *