Crear, copiar y borrar archivos en C#

En este ejemplo veremos como crear, copiar y borrar archivos en C# de texto. Usando la clase FileInfo puedes hacer operaciones típicas como copiar, mover, renombrar, crear, abrir, eliminar y agregar archivos.

» Ver más ejemplos

Te mostramos algunas operaciones en el siguiente ejemplo:

using System;
using System.IO;

//decodigo.com

class EjemploInforArchivo
{

    public static void Main()
    {
        string path = "D:/dev/decodigo/ejemplos_c_sharp/archivos/archivo_nuevo.txt";
        Console.WriteLine("Archivo temporal creado: " + path);

        var fi1 = new FileInfo(path);

        // Creamos un archivo para escribir en el 
        using (StreamWriter sw = fi1.CreateText())
        {
            sw.WriteLine("Texto");
            sw.WriteLine("de");
            sw.WriteLine("Prueba");
        }

        Console.WriteLine("Leemos el contenido de prueba");

        // Abrimos el contenido del archivo para leerlo
        using (StreamReader sr = fi1.OpenText())
        {
            var s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }

        try
        {
            string path2 = "D:/dev/decodigo/ejemplos_c_sharp/archivos_copiados/archivo_copiado.txt";
            var fi2 = new FileInfo(path2);

            // Nos aseguramos que no exista un archivo con el mismo nombre antes de copiarlo
            fi2.Delete();

            // Copiamos el archivo
            fi1.CopyTo(path2);
            Console.WriteLine($"{path} fue copiado en {path2}.");

            Console.WriteLine("Ultima fecha de modificación: " + fi2.LastWriteTime);
            Console.WriteLine("Tamaño: " + fi2.Length);

            Console.WriteLine("Presiona Enter para continuar.");
            Console.ReadLine();

            // Borramos el archivo creado
            fi2.Delete();
            Console.WriteLine($"{path2} fue borrado correctamente.");
        }
        catch (Exception e)
        {
            Console.WriteLine($"El proceso falló: {e.ToString()}");
        }

        Console.WriteLine("Presiona Enter para terminar.");
        var name = Console.ReadLine();
    }
}

Te explicamos el código de forma rápida. En los primeros bloques, creamos y mostramos en consola el contenido de un archivo de texto con sólo tres líneas de prueba.

        string path = "D:/dev/decodigo/ejemplos_c_sharp/archivos/archivo_nuevo.txt";
        Console.WriteLine("Archivo temporal creado: " + path);

        var fi1 = new FileInfo(path);

        // Creamos un archivo para escribir en el 
        using (StreamWriter sw = fi1.CreateText())
        {
            sw.WriteLine("Texto");
            sw.WriteLine("de");
            sw.WriteLine("Prueba");
        }

        Console.WriteLine("Leemos el contenido de prueba");

        // Abrimos el contenido del archivo para leerlo
        using (StreamReader sr = fi1.OpenText())
        {
            var s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }

Posteriormente, creamos una segunda ruta que nos indicará donde copiaremos nuestro archivo de texto. En nuestro caso tenemos dos carpetas, «archivos» y «archivos_copiados«, en la primera estamos creando el archivo txt y en la segunda carpeta copiaremos el archivo con otro nombre: «archivo_copiado.txt«.

Antes de continuar nos aseguramos de que no exista el archivo que queremos copiar, borrándolo con la función Delete();

            string path2 = "D:/dev/decodigo/ejemplos_c_sharp/archivos_copiados/archivo_copiado.txt";
            var fi2 = new FileInfo(path2);

            // Nos aseguramos que no exista un archivo con el mismo nombre antes de copiarlo
            fi2.Delete();

Más adelante, copiamos el archivo y mostramos información como fecha de última modificación y tamaño del archivo:

            // Copiamos el archivo
            fi1.CopyTo(path2);
            Console.WriteLine($"{path} fue copiado en {path2}.");

            Console.WriteLine("Ultima fecha de modificación: " + fi2.LastWriteTime);
            Console.WriteLine("Tamaño: " + fi2.Length);

Finalmente, borramos el archivo copiado, después de presionar la tecla «Enter» desde consola:

            Console.WriteLine("Presiona Enter para continuar.");
            Console.ReadLine();
Crear, copiar y borrar archivos en C#

Al final del ejercicio sólo quedará el archivo en su carpeta original:

Crear, copiar y borrar archivos en C#

En consola obtendrás algo como lo siguiente:

Archivo temporal creado: D:/dev/decodigo/ejemplos_c_sharp/archivos/archivo_nuevo.txt
Leemos el contenido de prueba
Texto
de
Prueba
D:/dev/decodigo/ejemplos_c_sharp/archivos/archivo_nuevo.txt fue copiado en D:/dev/decodigo/ejemplos_c_sharp/archivos_copiados/archivo_copiado.txt.
Ultima fecha de modificación: 22/09/2021 02:44:45 p. m.
Tamaño: 19
Presiona Enter para continuar.

D:/dev/decodigo/ejemplos_c_sharp/archivos_copiados/archivo_copiado.txt fue borrado correctamente.
Presiona Enter para terminar.

Desde luego, para tus pruebas no olvides modificar las rutas por las tuyas, que sean válidas y con permisos de escritura.

Ver más documentación: https://docs.microsoft.com/en-us/dotnet/api/system.io.fileinfo?view=net-5.0