Trabajo con el sistema de archivos en C#: guía completa para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Trabajo con el sistema de archivos en C#: para principiantes



Trabajar con el sistema de archivos es una de las habilidades clave de cualquier desarrollador. En C# (.NET) se proporcionan potentes herramientas para crear, leer, escribir y eliminar archivos y directorios. En este artículo, analizaremos las operaciones básicas con el sistema de archivos que serán útiles tanto para principiantes como para programadores experimentados. Todos los ejemplos están escritos en C# y utilizan el espacio de nombres System.IO.



Fundamentos del trabajo con el espacio de nombres System.IO



El espacio de nombres System.IO contiene todas las clases principales para interactuar con el sistema de archivos. Para empezar, agregue la siguiente directiva al inicio de su archivo:



using System.IO;using System; // para Console y otras operaciones básicas


Las clases principales que usaremos:

  • File — métodos estáticos para trabajar con archivos (crear, copiar, eliminar).
  • FileInfo — clase de instancia para obtener información sobre un archivo específico.
  • Directory — métodos estáticos para trabajar con carpetas.
  • DirectoryInfo — clase de instancia para información sobre un directorio.
  • Path — utilidades para trabajar con rutas.


Veamos cada aspecto en la práctica.



Creación y escritura en un archivo



La forma más sencilla de crear un archivo y escribir texto en él es usar el método File.WriteAllText. Crea un archivo (o sobrescribe uno existente) y escribe una cadena.



string path = @"C:\\Temp\\example.txt";string content = "¡Hola, mundo! Este es un archivo de prueba.";

File.WriteAllText(path, content);Console.WriteLine("Archivo creado y escrito.");


Si necesita escribir varias líneas, use File.WriteAllLines:



string[] lines = { "Primera línea", "Segunda línea", "Tercera línea" };File.WriteAllLines(path, lines);


Para agregar datos al final de un archivo existente, use File.AppendAllText:



File.AppendAllText(path, "Línea agregada.");


Lectura de datos de un archivo



La lectura de un archivo también es intuitiva. El método File.ReadAllText devuelve todo el contenido como una sola cadena:



string readContent = File.ReadAllText(path);Console.WriteLine("Contenido del archivo:");Console.WriteLine(readContent);


Si el archivo consta de líneas, es más conveniente usar File.ReadAllLines, que devuelve un arreglo de cadenas:



string[] readLines = File.ReadAllLines(path);foreach (string line in readLines){    Console.WriteLine(line);}


Para archivos grandes, es mejor usar la lectura por flujo con StreamReader para no cargar todo el archivo en memoria:



using (StreamReader reader = new StreamReader(path)){    string line;    while ((line = reader.ReadLine()) != null)    {        Console.WriteLine(line);    }}


Trabajo con carpetas (directorios)



Crear, verificar la existencia y eliminar carpetas son tareas comunes. Así es como se hace con la clase Directory:



string dirPath = @"C:\\Temp\\MyFolder";

// Verificar existenciaif (!Directory.Exists(dirPath)){ Directory.CreateDirectory(dirPath); Console.WriteLine("Carpeta creada.");}else{ Console.WriteLine("La carpeta ya existe.");}

// Eliminar carpeta (si está vacía)if (Directory.Exists(dirPath)){ Directory.Delete(dirPath); Console.WriteLine("Carpeta eliminada.");}


Para obtener la lista de archivos en una carpeta, use Directory.GetFiles:



string[] files = Directory.GetFiles(@"C:\\Temp");foreach (string file in files){    Console.WriteLine(file);}


De manera similar para sub

Blogs

Book Recommendations