Ir al contenido principal

Leer Archivo TXT con C#

El siguiente ejemplo muestra como cargar un Archivo de texto y cargarlo en un Textbox, para eso usaremos los controles OpenFileDialog y SaveFileDialog para guardar el texto ingresado en el Textbox en un archivo con extensión txt.
Necesitaremos un Formulario de Windows con un Textbox, donde se mostrara la ruta del archivo, un botón para examinar, un Textbox donde se cargara el texto del archivo y un botón para guardar el texto, una vez terminado esto vamos a la parte del código.

Tutorial C#:


En el evento clic del Botón para examinar, escribiremos el siguiente código c#:
private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "Archivos txt|*.txt";
            openFileDialog1.FileName = "Seleccione un archivo de Texto";
            openFileDialog1.Title = "Programa de Lectura";
            openFileDialog1.InitialDirectory = "C:\\";
            openFileDialog1.FileName = this.textBox1.Text;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                this.textBox1.Text = openFileDialog1.FileName;
            }
            textBox2.Text = "";


            System.IO.StreamReader sr = new System.IO.StreamReader(@textBox1.Text, System.Text.Encoding.Default);
            string texto;
            texto = sr.ReadToEnd();
            sr.Close();
            textBox2.Text = texto;
        }

Hecho esto tendremos lista la lectura de nuestro archivo de texto, lo ultimo para concluir el ejercicio es escribir el código del botón para guardar el texto.
        private void button2_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveFile = new SaveFileDialog();
            saveFile.Filter = "Ficheros TXT|*.txt";
            if (saveFile.ShowDialog() == DialogResult.OK)
            {
                StreamWriter escrito = File.CreateText(saveFile.FileName);
                String contenido = textBox2.Text;
                escrito.Write(contenido.ToString());
                escrito.Flush();
                escrito.Close();
            }
        }

Con esto ya podemos trabajar con archivos de texto y probar con otros tipos de documentos, saludos.

Comentarios

  1. Tengo una consulta, si quiero transformar cadena de texto a código binario y luego guardarlo a un archivo de texto, ¿Cómo haría?

    ResponderEliminar
  2. Si quieres usar este mismo proyecto para llevar acabo esa tarea puedes añadir un Botón para Convertir a Binario, que te convertirá el texto del Textbox1 y te lo Pasara al Textbox2 por ultimo solo guardarías el texto con el botón que ya programaste, el código seria así:

    private void button1_Click(object sender, EventArgs e)
    {
    string[] matriz = new string[textBox1.Text.Length];
    int contador = 0;
    foreach (char c in textBox1.Text)
    {
    matriz[contador] = Convert.ToString(Convert.ToInt32(((int)c).ToString("X"), 16), 2);
    contador++;
    }
    string binarios = string.Join(" ", matriz);
    textBox2.Text = binarios;
    }

    Saludos y espero te haya servido.

    ResponderEliminar
    Respuestas
    1. Muchas gracias, tu código me fue de mucha ayuda, sigue así! Tienes un gran blog, me sirve mucho en mis tareas de la universidad.

      Eliminar
    2. Gracias x tu Comentario, sigue visitándolo y espera mas actualizaciones saludos.

      Eliminar
  3. Disculpa... tengo un proyecto en mente... tengo un txt con muchos datos.. que quiero meter en un DataGridView ... lo que pasa que en este txt.. quiero extraer solo ciertos datos y pasarlos al DGV ... pero solo cuando una "palabra" es encontrada.. en esa lista.. no se si me explique bien... la verdad soy un poco novato en esto.. y tiene algo de rato que no programo en C# ... no se si me puedas asesorar en algun tiempo libre... luis91.andrade@gmail.com

    ResponderEliminar
    Respuestas
    1. Tiempo libre no tengo, hace mucho deje de conocer ese termino, pero si entiendo un poco de lo que buscas, tengo un ejemplo en un post donde leo un CSV y cuando se encuentra una palabra esta hace una accion podrias adaptar ese codigo, saludos.

      Eliminar
  4. si quiero hacer un login de sistema con usuario y contraseña que los tengo en un txt como leo los caracteres o los espacios o cambios de linea entre ellos??? se que para delimitar es con un split (,) para separarlos por comas pero como asocio esos archivos con los de las cajas de texto

    ResponderEliminar
  5. hola una pregunta estoy realizando un programa de un menu en consola para buscar un nombre en especifico de un archivo txt.y mostrarlo por consola..pero el problema es que no encuentra la palabra aparece el mensaje error este es mi codigo: gracias de antemano.....
    public void buscarNombre()
    {
    Console.Clear();
    Console.WriteLine("ingrese el nombre a buscar");
    string nombre = Console.ReadLine();
    nombre = nombre.ToUpper();
    int pos = 1;
    bool encontrar = false;


    try
    {
    StreamReader arch = new StreamReader("C:\\estudent.txt");
    string linea = arch.ReadLine();

    while (linea!=null)
    {
    if (linea == nombre)
    {
    encontrar = true;
    break;
    }
    linea = arch.ReadLine();
    pos++;
    if (linea==nombre)
    {
    Console.WriteLine("La persona {0}Esta en la linea nº{1}", nombre, pos);

    }
    else
    {
    Console.WriteLine("la persona {0}no se encuentra registrada en el archivo");
    }
    }
    Console.ReadKey();
    arch.Close();
    }
    catch(Exception e)
    {
    Console.WriteLine("error:"+e.Message);
    }
    }

    ResponderEliminar
  6. Buenas Noches, como puedo exportar unas label a excel???

    ResponderEliminar
  7. Hice el ejercicio planteado arriba y no me carga las ñññ ni los acentos de tildes que será...Gracias por su respuesta

    ResponderEliminar
  8. Saludos, me gusto tu código, pero tengo una pregunta, en un proyecto de Windows form, como podría pasa el contenido de un DataGridView a un archivo txt???

    ResponderEliminar
  9. hola necesito que me ayudes a generar un código en c# que abra 2 txt. y compare y que además me diga cuantas veces se repiten las palabras

    ResponderEliminar
    Respuestas
    1. Y que haga todo tu desarrollo y que además cobre tu quincena y se alimente por ti no?

      Eliminar

Publicar un comentario

Entradas populares de este blog

Llenar un DropdownList con Datos ASP.NET C#

En Asp.net llenar un Dropdownlist es un poco distinto a cuando llenamos un Combobox en una aplicación de Windows Form, aunque son muy similares un Combobox tiene distintas funciones y por lo tanto diferentes propiedades, que cambian en un control DropdownList de ASP.NET y es necesario identificar cuales son y cual es la forma correcta de llenar un DropdownList, en este ejemplo lo haremos utilizando no datos estáticos sino que aprenderemos como hacerlos con datos de una consulta en SQL, lo demás a continuación.

Chart en C# - Control para Graficos en Windows Form

El siguiente articulo es un pequeño tutorial sobre como utilizar el Control "Chart" de .NET para crear gráficos en una aplicación, en este caso una aplicación para Windows, para su funcionamiento es simple y permite ayudarnos para crear gráficos en alguna de nuestras aplicaciones donde sea necesario este tipo de implementacion, así que tendremos que crear un proyecto nuevo del tipo Windows Form donde necesitaremos principalmente los siguientes componentes: - 3 Controles Textbox para ingresar los valores al gráfico. - 2 Botones para las 2 diferentes acciones que realizaremos. - 1 Control Chart que si no lo ubican se encuentra en la sección Data de su Visual Studio o Visual C# Express.
De tal forma que el resultado sea similar al de la imagen mostrada, ahora pasaremos al código para el primer botón que se encargara de asignar los valores al control Chart.

Crear un Sistema con conexión a BD paso a paso C#

Primero que nada esta estoy en un proceso de re-estructuración del Blog, anteriormente los artículos eran vagos con poca información y poco explícitos donde solo publicaba los enlaces de descarga de los proyectos, para cambiar esto ahora empezare a publicar soluciones completas, mejor estructurado el contenido de mis artículos y aunque no prometo hacerlo muy seguido debido a que pocas veces tengo tiempo, prometo que los contenidos serán de mayor calidad y mas útiles. Para demostrar esto primero que nada publicare una de las mayores herramientas que un programador novato y con un poco de experiencia pueden tener, la conexión con una BD, en este caso SQL Server que es la que mejor se integra con Visual Studio y la Plataforma .NET, empecemos.