Comunidad de desarrolladores de Puebla.NET
Iniciar sesión Unete ahora
 
 
Novedades | Anuncios | Eventos | Publicaciones | Foros | Bolsa de trabajo | Conocenos | Encuestas
 
  Buscar  
 
Anónimo
3179339 visitas desde Octubre de 2004
1 usuario en línea
Contáctanos en línea:





Certificate Veracruz

Seguridad


 
Buscador de palabras a partir de una ruta y un tipo de archivos especifico

Publicado por el Thursday, January 20, 2005 (UMST)

Clase que busca un palabra, en un tipo de archivo y ruta (directorio y subdirectorios de la misma) proporcionados por el ususario. Indicando el archivo, la linea y la columna en la que se encuentra.

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

namespace ConsoleApplication2

 class Class1
 {
   static int file(string args)
  {
     
   int aux=0;

    // Verifica si en la ruta proporcionada, se encuentra el nombre de un archivo

    if(File.Exists(args))
    {
     Console.WriteLine("la ruta termina en un archivo, no es valida \n");
     aux=1;
    }              

    // Verifica si la ruta existe

    else if(Directory.Exists(args))
    {
     Console.WriteLine("la ruta es valida, graxs \n");
     aux=0;
    }

     //si no existe lo indica

    else
    {
     Console.WriteLine("{0} la ruta no es valida. \n", args);
     aux=1;
    }       
   return (aux);
  }


  // Analiza en la ruta especificada y hace recursion para buscar en las carpetas que se encuentran en la ruta

  static void Directorio(string targetDirectory,string extension,string   palabra)
  {
   // obtiene la lista de los archivos que tienen la extension proporcionada por el usuario agregandole un
   // * al inicio para que almacene los archivos que terminen con el texto indicado
   
   string extension2 ="*"+extension;
   string [] fileEntries = Directory.GetFiles(targetDirectory,extension2);
//   Console.WriteLine(fileEntries.ToString());
   // Recorre cada uno de los archivos encontrados en la ruta base, en la busquedad del texto que proporciono el usuario
   
   foreach(string fileName in fileEntries)
   {
    
    string filen=fileName;
    FileStream stream= new FileStream(filen,FileMode.Open);
    StreamReader reader=new StreamReader(stream);
    int size=(int)stream.Length;
    string cad;
    int pos=0;
   for (int i=0;i<size;i++)
    {
   
     cad=reader.ReadLine();
    if (cad==null)
     break;
    else
    {
     if(cad.IndexOf(palabra)>=0)
     {
      Console.Write("\n {0}\n",cad );
      int col=cad.IndexOf(palabra);
      Console.WriteLine("  palabra encontrada ");
      pos=i;
      Console.WriteLine("\n la linea en la que se encuentra el texto dentro del archivo es:  {0}",pos+1);
      Console.WriteLine("\n la columna en la que se encuentra el texto dentro del archivo es:  {0}", col);
      
     }
         
    
    }
    }
    
        
   }


   // aplica la recursion a los subdirectorios encontrados en la ruta base para asi analizar
   // los archivos de cada uno de ellos

   string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
   foreach(string subdirectory in subdirectoryEntries)
    Directorio(subdirectory,extension2,palabra);
  }
       

  

 

  
  static void Main()
  {
   Console.WriteLine("introduce la ruta base de la busquedad");
   string  ruta;
    ruta=Console.ReadLine();
   int flag=file (ruta);
   if (flag==0)
   {
    Console.WriteLine("introduce la extension base para la busquedad en archivo");
    string extension=Console.ReadLine();
   
            
    Console.WriteLine("intorduce el texto a buscar");
    string   texto=Console.ReadLine();
      
    Directorio( ruta,extension,texto);
    Console.ReadLine();
   }
   else
    Console.ReadLine();
  }
  
 }
  
    

}

 

// Te agradeceria cualquier comentario o enriquecimiento del codigo. 

// arte-km


 


 

Agregar comentario