Hoy veremos cómo leer un archivo de texto y almacenarlo en un ArrayList mediante la librería System.IO.
Para cargar y leer un archivo de texto desde Visual C# .NET, siga estos pasos:
- Haga referencia a namespace System.IO y System.Collections para poder leer el archivo y manejar los ArrayList.
using System;
using System.IO;
using System.Collections;
- Para abrir un archivo y leerlo, cree una nueva instancia de un objeto StreamReader y pase la ruta del archivo en el constructor de la siguiente manera:
StreamReader objReader = new StreamReader("c:\\test.txt");
- Necesitará una variable de cadena en la que almacenar cada una de las líneas del archivo a medida que avanza en el proceso. Puesto que agregará estas líneas a un objeto ArrayList, debe declarar y crear un objeto de este tipo también.
string sLine="";ArrayList arrText = new ArrayList();
- Existen varios métodos para leer el archivo, incluido el método ReadToEnd que lee todo el archivo de una vez. Sin embargo, para este ejemplo, puede utilizar el método ReadLine para que las líneas del archivo se muestren de una en una. Al llegar al final del archivo, este método devuelve un valor nulo, lo que permite terminar el bucle. Mientras lee cada línea del archivo, puede utilizar el método Add de ArrayList para insertar las líneas en la clase ArrayList.
while (sLine != null){sLine = objReader.ReadLine();if (sLine != null) arrText.Add(sLine);}objReader.Close();
- Utilice un bucle For Each para escribir el contenido del objeto ArrayList recién llenado en la consola de la siguiente manera (el arraylist puede ser utilizado dependiendo de tu funcionalidad):
foreach (string sOutput in arrText)Console.WriteLine(sOutput);Console.ReadLine();Lista completa de código
using System;
using System.IO;
using System.Collections;
namespace TextFileReader_csharp
{
/// <summary>
/// Descripción de resumen para Class1.
/// </summary>
class Class1
{
static void Main(string[] args)
{
StreamReader objReader = new StreamReader("c:\\test.txt");
string sLine="";
ArrayList arrText = new ArrayList();
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null)
arrText.Add(sLine);
}
objReader.Close();
foreach (string sOutput in arrText)
Console.WriteLine(sOutput);
Console.ReadLine();
}
}
}
Espero que esto les haya servido de ayuda.
Lo que se puede imaginar… se puede programar