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

File.Copy(String, String, Boolean) es un método de clase de archivo incorporado que se usa para copiar el contenido del archivo de origen existente a otro archivo de destino si existe, de lo contrario, cree un nuevo archivo de destino y luego se realiza el proceso de copia.
Sintaxis: 
 

Public static void Copy (string sourceFileName, string destFileName, bool overwrite);

Parámetro: Esta función acepta tres 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.
  • sobrescribir: Este es el valor booleano. Usa true si el archivo de destino se puede sobrescribir; de lo contrario, usa false.

Excepciones:
 

  • UnauthorizedAccessException: destFileName es de solo lectura O Aquí, la sobrescritura es verdadera si destFileName existe y está oculto, pero el nombre del archivo de origen no está oculto.
  • 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 especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
  • DirectoryNotFoundException: la ruta especificada en el 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: el destFileName existe y la sobrescritura es falsa O se ha producido un error de E/S.
  • NotSupportedException: sourceFileName o destFileName tiene un formato no válido.

A continuación se muestran los programas para ilustrar el método File.Copy(String, String, Boolean).
Programa 1: antes de ejecutar el siguiente código, se crean dos archivos, es decir, el archivo de origen file.txt y el archivo de destino gfg.txt con algunos de los contenidos que se muestran a continuación:
 

file.txt

gfg.txt

C#

// 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, true);
        }
        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 muestra la salida anterior y el contenido del archivo de destino se vuelve como se muestra a continuación:
 

gfg.txt

Programa 2: antes de ejecutar el siguiente código, se crean dos archivos, es decir, el archivo de origen file.txt y el archivo de destino gfg.txt con algunos de los contenidos que se muestran a continuación:
 

file.txt

C#

// 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, true);
        }
        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 muestra la salida anterior y el contenido del archivo de destino se sobrescribe con el contenido del archivo de origen file.txt como se muestra a continuación:
 

gfg.txt

Programa 3: antes de ejecutar el siguiente código, se crean dos archivos, es decir, el archivo de origen file.txt y el archivo de destino gfg.txt con algunos de los contenidos que se muestran a continuación:
 

file.txt

file.txt

C#

// 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, false);
        }
        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 los valores de sobrescritura bool utilizados en el código anterior son falsos .
 

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 *