Comunidad de diseño web y desarrollo en internet

Abrir archivos externos y cargar sus datos en C# de .NET

Quiero enseñarles como tomar datos de un archivo externo en forma de texto plano con C# de .NET. No se si es bien recibido un tutorial de C# pero me pareció buena idea aportar algo de esto que hace bastante esta creciendo.

Necesitaremos algunas herramientas para poder programar en C#:

  1. .Net Framework 3.5 SP1 o superior
  2. SharpDevelop, visual c# o cualquier otro IDE
  3. Conocer las bases de programar en C#


Código para cargar los datos de un archivo de texto en C#


Iniciamos el IDE y creamos un proyecto le ponemos el nombre que usted quiera, en mi caso sera "ejemplo".

Lee los comentarios del código para entender su funcionamiento.

Código :

using System;
using System.IO;
using System.Collections;

namespace ejemplo
{

public class ejemplo
   {
         string sLine=""; // Creamos un string donde se guardaran las lineas del archivo
         int line = 0; // Leemos el numero de linea comenzando por 0
         string valor1 = ""; // Creamos un string
         string valor2 = ""; // Creamos un string
         ArrayList arrText = new ArrayList(); // Creamos una matriz para guardar linea por linea
         StreamReader objLeer = new StreamReader("archivo.txt");  // Creamos el objeto "objLeer" desde una funcion de la libreria IO.
// La extension del archivo puede ser .txt  o .cfg, .ini, .inc, etc

/* Creamos while para que lea todas las lineas e agrege un item a la matriz, si sLine no es nulo. Despues lo que realiza es un if, cumpliendo la misma condicion del bucle while*/
         while (sLine != null)
         {
            sLine = objLeer.ReadLine();
            if (sLine != null)
               arrText.Add(sLine);
         }
                        //Cerramos el archivo
                        objLeer.Close();

                        /*Realizamos un bluce foreach, recojemos datos de la matriz arrText y la volcamos en el string sOutput. foreach se utiliza muchos en casos de matriz lo que hace es tomar una coleccion de datos de la matriz y ir volcandolo. como hariamos con un for
int[] matriz = new int[] { 0, 1, 2, 3 };
int leer = 0;
for(int i = 0; i < 4; i++)
{
   leer = matriz[i];
}
Seguimos con el tema, dentro del foreach hacemos un switch para verificar en que linea nos encontramos, esto lo hacemos para poder identificar cada linea y haci asignarle una variable a la linea.
 */
         foreach (string sOutput in arrText)
         {
            switch(line)
            {
                  case 0: {   valor1 = sOutput;
                  break;}
                  case 1:{   valor2 = sOutput;
                  break;}                  
            }            
            line++;
         }   
/* y en resultado tenemos datos volcados en cada una de las variable.
Hagamos un ejemplo que yo hubiera tenia un txt con 2 lineas adentro:

hola
Como estas

entonces valor1 = hola y valor2 = Como estas
*/
}
}   


Finalmente creamos un archivo con lineas adentro y compilarlo.

Cabe aclarar que:

Código :

StreamReader objLeer = new StreamReader("archivo.txt");
El nombre del archivo puede tener ruta por si el archivo no se encuentra en el mismo directorio que el programa

Bueno espero que les sirva un saludo. :P

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate