Ejemplo manejo de archivos en C#

C#

C#
using System;
using System.IO;

namespace ManejoArchivos
{
    class Program
    {
        static void Main(string[] args)
        {
            string rutaArchivo = "miArchivo.txt";

            // Crear un archivo (si no existe) y escribir en él
            try
            {
                using (StreamWriter sw = new StreamWriter(rutaArchivo))
                {
                    sw.WriteLine("Hola, mundo!");
                    sw.WriteLine("Este es un ejemplo de escritura en un archivo.");
                }
                Console.WriteLine("Archivo creado y escrito correctamente.");
            }
            catch (IOException ex)
            {
                Console.WriteLine("Error al crear o escribir en el archivo: " + ex.Message);
            }

            // Leer el archivo
            try
            {
                using (StreamReader sr = new StreamReader(rutaArchivo))
                {
                    string linea;
                    while ((linea = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(linea);
                    }
                }
            }
            catch (IOException ex)
            {
                Console.WriteLine("Error al leer el archivo: " + ex.Message);
            }

            // Agregar una línea al final del archivo
            try
            {
                using (StreamWriter sw = new StreamWriter(rutaArchivo, true)) // El parámetro 'true' indica que se agrega al final
                {
                    sw.WriteLine("Esta línea se agregó al final.");
                }
            }
            catch (IOException ex)
            {
                Console.WriteLine("Error al agregar línea al archivo: " + ex.Message);
            }

            // Eliminar el archivo (con precaución)
            //File.Delete(rutaArchivo);
            //Console.WriteLine("Archivo eliminado.");
        }
    }
}

Explicación del código:

  1. Creación y escritura:

    • Se crea un objeto StreamWriter para escribir en el archivo.
    • Se utilizan las líneas sw.WriteLine() para agregar texto al archivo, una línea por cada llamada.
  2. Lectura:

    • Se crea un objeto StreamReader para leer el archivo.
    • Se utiliza un bucle while para leer cada línea del archivo hasta llegar al final.
  3. Modificación:

    • Para modificar un archivo, se suele leer todo el contenido, realizar los cambios necesarios y volver a escribir el archivo. En este ejemplo, se agrega una línea al final del archivo abriendo el archivo en modo append (true).
  4. Eliminación:

    • Se utiliza File.Delete() para eliminar el archivo. ¡Ten mucho cuidado al eliminar archivos! Asegúrate de que deseas eliminar el archivo antes de ejecutar esta línea.

Puntos clave:

  • Using: Se utiliza la palabra clave using para garantizar que los recursos (archivos) se cierren correctamente, incluso si ocurre una excepción.
  • StreamWriter: Se utiliza para escribir texto en un archivo.
  • StreamReader: Se utiliza para leer texto de un archivo.
  • ReadLine: Lee una línea completa del archivo.
  • WriteLine: Escribe una línea en el archivo.
  • File.Delete: Elimina un archivo.

Consideraciones adicionales:

  • Excepciones: Siempre es recomendable encerrar las operaciones de archivos en bloques try-catch para manejar posibles errores, como que el archivo no exista o que no se tengan permisos de escritura.
  • Rutas de archivos: Asegúrate de especificar la ruta completa del archivo o una ruta relativa correcta.
  • Modos de apertura: Existen otros modos de apertura, como "append" para agregar al final del archivo, "read" solo para lectura, etc.
  • Archivos binarios: Para trabajar con archivos binarios, se utilizan otras clases como FileStream.

Este ejemplo te proporciona una base sólida para trabajar con archivos en C#. Puedes adaptarlo a tus necesidades específicas, como leer y escribir datos en diferentes formatos, trabajar con archivos grandes, o realizar operaciones más complejas.


Comentarios

Entradas más populares de este blog

Tratamiento de excepciones

Agregación

Composición