martes, 31 de julio de 2018

Buscar cadena en fichero de texto

Buscar palabra en fichero de texto

(Buscar una palabra o frase/cadena/String en un fichero de texto)

En CMD:



find "maximum error" "C:\ExstreamMessages.dat" /c


En fichero batch:


Buscar una cadena:
find "maximum error" "C:\ExstreamMessages.dat" /c
echo %errorlevel%
Devuelve 1 para dar positivo ( Si, encontrado, true )Búsqueda OR: find "maximum error" "C:\ExstreamMessages.dat" /c | find "otra cadena" "C:\ExstreamMessages.dat" /cecho %errorlevel% Devuelve 1 para dar positivo ( Si, encontrado, true )


gnuWin32 


Para buscar de otra manera como si fuese un Linux
https://sourceforge.net/projects/getgnuwin32

findstr /c:"error" /c:"warning" C:\MyFiles\*.txt

En Java


//Esto de la ruta completa y el fileName lo podéis cambiar y dejar 2 parámetros, como veáis.
   public static boolean cadenaEnArchivo(String rutaCompleta,String fileName, String cadena)
    {
        boolean result = false;
        try
        {
            File file = new File(rutaCompleta);
            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String line;
            System.out.println("Leemos fich: " + fileName );
            while ((line = bufferedReader.readLine()) != null) 
            {
                if(line.contains(cadena))
                {
                    result = true;
                }
            }
            bufferedReader.close();
            fileReader.close();
        }
        catch (Exception e)
        {
            System.out.println("Exc en cadenaEnArchivo leyendo fich: " + e.getMessage() );
            return false;
        }
        return result;
    }
Se puede añadir un return result y break; para parar el bucle y dejar de buscar:


//Esto de la ruta completa y el fileName lo podéis cambiar y dejar 2 parámetros, como veáis.
   public static boolean cadenaEnArchivo(String rutaCompleta,String fileName, String cadena)
    {
        try
        {
            File file = new File(rutaCompleta);
            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String line;
            System.out.println("Leemos fich: " + fileName );
            while ((line = bufferedReader.readLine()) != null) 
            {
                if(line.contains(cadena))
                {
                    return true;
                    break;
                }
            }
            bufferedReader.close();
            fileReader.close();
        }
        catch (Exception e)
        {
            System.out.println("Exc en cadenaEnArchivo leyendo fich: " + e.getMessage() );
            return false;
        }
        return false;
    }

No hay comentarios:

Publicar un comentario

Bienvenido a mi blog, deja tu comentario a continuación, gracias por tu interés y tu aporte. Un saludo :)