En esta oportunidad utilizaremos la clase System.IO.StreamReader para leer un archivo de texto línea por línea y mostrar cada una en la consola del sistema. Para ello crearemos una aplicación tipo consola y lo primero que debemos hacer es incluir el espacio de nombres (namespace) System.IO.
Luego, en el método Main declaramos un objeto sr de tipo StreamReader y una variable linea de tipo string donde almacenaremos el valor de la línea que vayamos leyendo. Inicializaremos el objeto sr pasándole como parámetro la ruta del archivo que vamos a leer (en este caso: C:\archivo.txt). Esto automáticamente abrirá el archivo en modo lectura posicionará un apuntador al principio del mismo.
Leemos la siguiente línea del archivo ( linea=sr.ReadLine() ) mientras sea diferente de null y la escribimos en la consola mediante el método WriteLine() del objeto Console. Cada vez que se ejecute ReadLine(), el objeto sr devolverá la línea en donde está posicionado el apuntador y lo moverá a la siguiente.
Por último, cerramos el archivo mediante la instrucción sr.Close().
using System;
using System.IO;
namespace AplicacionConsola
{
class Program
{
static void Main()
{
StreamReader sr = new StreamReader(@"C:\archivo.txt");
string linea;
while((linea = sr.ReadLine()) != null)
{
Console.WriteLine(linea);
}
sr.Close();
Console.ReadKey(true);
}
}
}
La instrucción Console.ReadKey(true) permite detener la ejecución del programa hasta que se presione una tecla.
Trucos:
- Pasar true como parámetro al método Console.ReadKey() hace que la tecla pulsada no tenga eco en la pantalla ;)
- En C# las cadenas de caracteres funcionan igual que en C/C++/Java, por lo que para obtener \ debemos utilizar \\. Sin embargo, en C# existe la posibilidad de especificar que se tome el contenido de la cadena tal como está dentro de las comillas y esto se logra anteponiendo un @ a la literal.
- Si no cerramos el archivo mediante sr.Close(), este quedará abierto en el sistema y podría ocasionar molestias a la hora de -digamos- mover el archivo a otra carpeta o intentar eliminarlo.
No hay comentarios.:
Publicar un comentario