Método File.Copy(String, String) en C# con ejemplos

File.Copy(String, String) es un método de clase de archivo incorporado que se utiliza para copiar el contenido del archivo de origen existente en otro archivo de destino creado por esta función.
 

Sintaxis:  

public static void Copy (string sourceFileName, string destFileName);

Parámetro: Esta función acepta dos parámetros que se ilustran a continuación:  

  • sourceFileName: este es el archivo desde donde se copian los datos.
  • destFileName: este es el archivo donde se pegan los datos. Esto no puede ser un archivo existente o un directorio.

Excepciones: 

  • UnauthorizedAccessException: la persona que llama no tiene el permiso necesario.
  • ArgumentException: el nombre de archivo de origen o destFileName es una string de longitud cero, contiene solo espacios en blanco o contiene uno o más caracteres no válidos según lo definido por InvalidPathChars. O el sourceFileName o destFileName especifica un directorio.
  • ArgumentNullException: sourceFileName o destFileName es nulo.
  • PathTooLongException: la ruta, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
  • DirectoryNotFoundException: la ruta proporcionada en nombre de archivo de origen o destFileName no es válida (por ejemplo, está en una unidad no asignada).
  • FileNotFoundException: no se encontró el nombre del archivo de origen.
  • IOException: destFileName existe. O se ha producido un error de E/S.
  • NotSupportedException: el nombre del archivo de origen o destFileName tiene un formato no válido.

A continuación se muestran los programas para ilustrar el método File.Copy(String, String).
Programa 1: antes de ejecutar el siguiente código, solo se creó el archivo fuente file.txt , que se muestra a continuación. El código siguiente crea un archivo de destino gfg.txt y copia el contenido del archivo de origen en el archivo de destino.
 

file.txt

CSharp

// C# program to illustrate the usage
// of File.Copy() method
  
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
  
class GFG {
    // Main() method
    public static void Main()
    {
        // Creating two files
        string sourceFile = @"file.txt";
        string destinationFile = @"gfg.txt";
        try {
            // Copying source file's contents to
            // destination file
            File.Copy(sourceFile, destinationFile);
        }
        catch (IOException iox) {
            Console.WriteLine(iox.Message);
        }
        Console.WriteLine("Copying process has been done.");
    }
}

Ejecutando:

mcs -out:main.exe main.cs
mono main.exe
Copying process has been done.

Después de ejecutar el código anterior, se mostró el resultado anterior y se creó un nuevo archivo de destino gfg.txt que se muestra a continuación:
 

gfg.txt

Programa 2: antes de ejecutar el siguiente código, se crean dos archivos con algunos contenidos que se muestran a continuación:
 

file.txt

gfg.txt

CSharp

// C# program to illustrate the usage
// of File.Copy() method
  
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
  
class GFG {
    // Main() method
    public static void Main()
    {
        // Specifying two files
        string sourceFile = @"file.txt";
        string destinationFile = @"gfg.txt";
        try {
            // Copying source file's contents to
            // destination file
            File.Copy(sourceFile, destinationFile);
        }
        catch (IOException iox) {
            Console.WriteLine(iox.Message);
        }
    }
}

Ejecutando: 

mcs -out:main.exe main.cs
mono main.exe
Could not create file "/home/runner/NutritiousHeavyRegression/gfg.txt". File already exists.

Después de ejecutar el código anterior, se genera el error anterior porque el archivo de destino se creó antes de ejecutar el programa.

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *