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
permite copiar um arquivo existente para um novo arquivo:FileInfo
.CopyTo()
FileInfo CopyTo (string destFileName);
Linguagem de código: C# ( cs )
Se destFileName
existir ou ocorrer um erro durante a cópia do arquivo, será CopyTo
gerado 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 overwrite
argumento como true
, o
método substituirá o arquivo de destino, se ele existir. Mas se você definir a substituição como CopyTo()
false
, o
arquivo de destino não será sobrescrito.CopyTo()
O CopyTo()
método retorna um FileInfo
objeto 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 FileInfo
objeto 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.txt
arquivo do C:\temp
diretório para o C:\backup
diretó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 FileInfo
objeto:
var file = new FileInfo(filename);
Linguagem de código: C# ( cs )
Terceiro, copie o arquivo usando o CopyTo()
método do FileInfo
objeto:
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...catch
bloco.
Resumo
- Use o C#
FileInfo
CopyTo()
para copiar um arquivo existente para um novo arquivo e substituí-lo se o arquivo de destino existir.