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#

Validar Correo Electronico C#

Añadir Items a un ListBox desde un Control Textbox C#