Ciao

spero che qualcuno di voi possa darmi una mano a chiarire un mio dubbio. Il programmino che voglio sviluppare prende in ingresso i caratteri digitati da tastiera e li analizza.
- nel main chiamo la funzione read che confronta l'input con una stringa predefinita;
- il confronto viene eseguito tramite la funzione match() che ritorna un booleano e ha in ingresso le due stringhe da comparare
- la stringa in ingresso viene prelevata dalla funzione readLine(), definita in un'altra classe.

Il codice non da errori e legge gli input da tastiera, l'unico problema è che non riesco a fare il confronto, cioè, se scrivo:

jkhvldkzhvflkdbglkdCIAOlknbv

vorrei che il codice facendomi il confronto man mano che inserisco input, e quando trova la parola ciao mi dica che la parola è stata trovata.. chi mi aiuta?

qua vi posto i due codici:

codice:
import java.io.*;
import static java.lang.System.in;
import java.lang.*;


public class Ex {

  


public static boolean match(TestRead str,String stringa) throws IOException {

     if(str.equals(stringa))
       { return true;  }
     else return false;

}


static final int A=0, B=1;



public static int read() throws IOException {

    String line="";
    TestRead in = new TestRead();
    in.ReadLine();

    if(match(in,"ciao")) return A;
    else return B;

  }



 
public static void main(String[] args) throws IOException {


int ch;
     ch = read();
if(ch==A){ System.out.println("ciao"); }
else { System.out.println("niente");  }

   }
  

} // End of class





// classe ausiliare

import java.io.*;
import static java.lang.System.in;
import java.lang.*;


public class TestRead {


String ReadLine() throws IOException {

    BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
    String linea= reader.readLine();
     do{ 
      return linea;
     }while(linea!=null);
    
  }

}