System.IO (rutas y streams)
Use los helpers de Path, compruebe la existencia y lea y escriba texto con StreamReader/StreamWriter mediante la instrucción using.
System.IO (rutas y streams) es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 3 lecciones en total.
Introducción a System.IO
Objetivo: Leer y escribir archivos de forma segura.
- Construya rutas con Path
- Compruebe con File/Directory
- Use StreamReader/StreamWriter dentro de un bloque using
Fundamentos de Path
Use Path.Combine y métodos similares para evitar separadores manuales y examinar las partes de una ruta.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
// Build a safe path (handles separators)
string folder = "data";
string file = "notes.txt";
string path = Path.Combine(folder, file);
Console.WriteLine("File name: " + Path.GetFileName(path));
Console.WriteLine("Directory: " + Path.GetDirectoryName(path));
Console.WriteLine("Full path: " + Path.GetFullPath(path));
}
}
Crear y escribir
Use Directory.CreateDirectory (es seguro aunque ya exista) y File.WriteAllText para archivos pequeños.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string folder = "data";
if (!Directory.Exists(folder))
{
Directory.CreateDirectory(folder); // create if missing
}
string path = Path.Combine(folder, "hello.txt");
// Simple one-shot write
File.WriteAllText(path, "Hello file!");
Console.WriteLine("Wrote: " + path);
}
}
Lectura segura
Incluya los lectores en un bloque using. El identificador del archivo se libera incluso si se produce una excepción.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string path = Path.Combine("data", "hello.txt");
if (File.Exists(path))
{
using (StreamReader r = new StreamReader(path))
{
string content = r.ReadToEnd(); // read all
Console.WriteLine("Content: " + content);
} // Dispose closes the file
}
else
{
Console.WriteLine("Missing file: " + path);
}
}
}
Escritura segura
StreamWriter escribe texto. Pase append=true para agregar líneas sin sobrescribir el contenido.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string path = Path.Combine("data", "log.txt");
// Append = true so we keep old content
using (StreamWriter w = new StreamWriter(path, true))
{
w.WriteLine(DateTime.UtcNow.ToString("u") + " - started");
w.WriteLine("Work done");
} // closed here
Console.WriteLine("Appended to log: " + path);
}
}
Comprobaciones y consejos
Consejos:
- Compruebe File.Exists/Directory.Exists antes de usarlos.
- Capture IOException para los errores de E/S e informe de ellos con un mensaje claro.
- Prefiera using para todos los streams.
Regla de seguridad de streams
Resumen
Resumen: Construya rutas con Path, compruebe su existencia y coloque siempre los lectores y escritores en un bloque using para limpiarlos de forma segura.
Preguntas frecuentes
¿La lección «System.IO (rutas y streams)» es gratis?
Sí — el texto completo de «System.IO (rutas y streams)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 3 lecciones en total.
¿Qué aprenderé en «System.IO (rutas y streams)»?
Use los helpers de Path, compruebe la existencia y lea y escriba texto con StreamReader/StreamWriter mediante la instrucción using. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.
¿Cuánto tiempo toma la lección «System.IO (rutas y streams)»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- System.IO (rutas y streams)
- JSON con System.Text.Json (opt-in y converters)
- Patrones sencillos para analizar CSV