none
¿Como leer archivos en subcarpetas? RRS feed

  • Pregunta

  • hola estoy complicado con un tema, se trata de una aplicacion en windows form en c# que me lea los archivo de una carpetay tambien los archivos de subcarpetas de esa misma ruta

    ya puedo leer los archivos de la carpeta a la que me apunta la ruta que le doy ahora lo que me falta es que el programa explore y lea los archivos que hay el las subcarpetas

    viernes, 23 de junio de 2017 18:09

Todas las respuestas

  • Buenas Jhon, 

    Preguntaste lo mismo en este hilo

    buscar archivos en carpetas y subcarpetas

    El compañero William te contesto, que el metodo GetFiles del tipo Directory, tiene una sobrecarga que permite aplicar la recursividad:

    string[] files = Directory.GetFiles(ruta, SearchOption.AllDirectories);
    Atte


    No olvides votar si mi comentario te ha ayudado y marcarlo como respuesta si ha sido la solución!

    viernes, 23 de junio de 2017 18:16
  • si, he logrado avanzar un poco con esa ayuda

    pero no se en que estoy fallando pues el codigo que tengo solo me hace la lista de todos los archivos que hay en un directorio y subdirectorio  pero yo necesito es leer el contenido de cada uno de esos archivos  para buscar un string dentro de ellos ... y luego listar todos los archivos  que contengan ese string.

      public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void btnbuscar_Click(object sender, EventArgs e)
            {
                lbxlistado.Items.Clear();
                string ruta = @"" + txtruta.Text; // ingrear la ruta
                string filtro = txtfiltro.Text; // ingresar busqueda

                
                DirectoryInfo di = new DirectoryInfo(ruta);

                foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
                {
                    
                            lbxlistado.Items.Add(fi);
                }
            }
        }



    • Editado Jhon Jainer viernes, 23 de junio de 2017 21:39
    viernes, 23 de junio de 2017 21:38
  • Buenas, 

    Puedes hacer algo asi:

     foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
    {
        if(File.ReadAllText(fi).Contains(filtro))
        {            
            lbxlistado.Items.Add(fi);
        }
    }
    Atte.

    No olvides votar si mi comentario te ha ayudado y marcarlo como respuesta si ha sido la solución!


    viernes, 23 de junio de 2017 21:44