Trabajo con archivos
Parte de la sección Lógica y Flujo del Journey de C# de Coddy. Lección 26 de 66.
En C#, puedes trabajar con archivos usando clases del System.IO espacio de nombres. Las dos clases principales para archivos de texto son StreamReader (para leer) y StreamWriter (para escribir).
Escribir en un archivo:
using System.IO;
// Create a StreamWriter to write to a file
StreamWriter writer = new StreamWriter("myfile.txt");
// Write text to the file
writer.WriteLine("Hello, World!");
writer.WriteLine("This is line 2");
// Close the file
writer.Close();Lectura desde un archivo:
using System.IO;
// Crear un StreamReader para leer desde un archivo
StreamReader reader = new StreamReader("myfile.txt");
// Leer todo el contenido desde el archivo
string content = reader.ReadToEnd();
Console.WriteLine(content);
// Cerrar el archivo
reader.Close();Leyendo línea por línea:
StreamReader reader = new StreamReader("myfile.txt");
// Leer la primera línea
string line1 = reader.ReadLine();
Console.WriteLine(line1);
// Leer la segunda línea
string line2 = reader.ReadLine();
Console.WriteLine(line2);
reader.Close();¡Recuerda cerrar siempre tus archivos con Close() cuando hayas terminado!
Desafío
FácilCrea un método llamado ReadFile que:
- Acepte un parámetro de tipo cadena:
filename - Lea el contenido del archivo mediante
StreamReader - Imprima el contenido en la consola
- Cierre el lector
Pruébalo tú mismo
using System;
using System.IO;
class Program
{
public static void ReadFile(string filename)
{
// Escribe tu código aquí
}
static void Main(string[] args)
{
string filename = Console.ReadLine();
ReadFile(filename);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Arrays multidimensionales
Conceptos básicos de arrays 2DDeclaración e inicialización de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DArrays irregularesOperaciones comunes con matricesRepaso: arrays multidimensionales4Técnicas de control de flujo
Retornos anticipadosCláusulas de guardaSentencias de salto (goto)Break y ContinueAplanar condicionales anidados7Operadores lógicos avanzados
Evaluación de cortocircuitoOperadores lógicos condicionalesPrecedencia de operadoresRepaso: operadores avanzados2Toma de decisiones avanzada
Múltiples condicionesLógica booleana complejaComparación entre If y SwitchSentencias Switch anidadasRepaso: decisiones avanzadas5Manejo de excepciones
Fundamentos de Try-CatchTipos de excepcionesMúltiples bloques CatchTrabajo con archivosBloque FinallyUso de Using frente a Try-FinallyExcepciones personalizadasRepaso: manejo de errores3Mejoras de bucles
Rendimiento de buclesIteración de estructuras complejasCada tipo de bucleRefactorización de buclesRepaso: bucles optimizados6Manejo de valores nulos
Conceptos básicos de referencias nulasTipos de valor anulablesPatrones de comprobación de valores nulosProgramación defensivaRepaso: seguridad frente a valores nulosPractica por tu cuenta: Compilador de C# online