mostrar lineas en java

juan david
08 de Marzo del 2006
hola como estan todos:

Es que tengo el siguiente problemilla, estoy leyendo un archivo de texto y buscando un patron determinado, cuando lo encuentro me imprime toda la linea y el numero de linea donde se encontro, estoy utilizando las clases, file, stringtokenizer, etc.. pero ademas de imprimir esa linea deseo tambien imprimir las 2 lineas anteriores a las del patron. se que es que con un ciclo pero no he podido hacerlo, si alguien podria decirme estaré muy agradecido.

String linea, Token;
StringTokenizer tk;
linea=entrada.readLine();
numlinea=1;
while((linea=entrada.readLine())!= null) {
numlinea++;
tk=new StringTokenizer(linea);
while(tk.hasMoreTokens()){
Token = tk.nextToken();
if(Token.equals("ANOMALIA")){
System.out.println(linea + " Linea Numero " + numlinea);

deseo impromir unas cuantas lineas atras.
gracias

Diego
08 de Marzo del 2006
Almacena además de linea, lineaAnterior y lineaAnterior2, inicialmente con "" y posteriormente a cada iteración:
lineaAnterior2=lineaAnterior;
lineaAnterior=linea;
linea=tk.nextToken();
y cuando encuentres el patrón concaténalas:
System.out.println(lineaAnterior2+lineaAnterior+linea + " Linea Numero " + numlinea);