Kolejne pytanie co do tego, co juz mam, tym razem sadze, ze nie jest to newbie. Na googlach szukalem, jednak z mizernym skutkiem. W programie mam klase, ktora wczytuje plik tekstowy, po czym wypisuje z niego wszystkie slowa, uklada alfabetycznie i do kazdego slowa dodaje liste linii, w ktorych moze byc znalezione. Ponizej calosc kodu.

import java.util.*;
import java.io.*;
	
public class conc {

	    public static void main(String [] args)
	    {

	        try
	        {
	        	BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
	        	String filename=null;
	        	do
	        	{
	        	   System.out.println("Please enter file name:");
	        	   filename=br.readLine();

	        	   if((new File(filename)).exists())
	        		  
	        	      break;
	        	   else
	        	      System.out.println("Sorry but specified file does not exist.");
	        	}
	        	while(true);
	        	
	        	FileReader myFileReader = new FileReader(filename);
	        	BufferedReader buffer = new BufferedReader ( myFileReader );
	            TreeMap wordMap = new TreeMap( );
	            String oneLine;
	            String delims = " \t\n.,!?;:-()'[]{}\"";
	            

	                // Read the words; add them to wordMap
	            for( int lineNum = 1; ( oneLine = buffer.readLine( ) ) != null; lineNum++ )
	            {
	                StringTokenizer st = new StringTokenizer( oneLine, delims );
	                while( st.hasMoreTokens( ) )
	                	
	                {
	                    String word = st.nextToken( );
	                    //word = word.toLowerCase( );
	                    LinkedList lines = (LinkedList) wordMap.get( word );
	                    if( lines == null )
	                    {
	                        lines = new LinkedList( );
	                        wordMap.put( word, lines );
	                    }
	                    lines.addLast( new Integer( lineNum ) );
	                }
	            }

	                // Go through the word map
	            for( Iterator itr = wordMap.entrySet( ).iterator( ); itr.hasNext( ); )
	                printEntry( (Map.Entry) itr.next( ) );
	         }
	         catch( Exception e )
	           { System.err.println( "Error: " + e ); }
	    }

        public static void printEntry( Map.Entry entry )
        {

                 // Print the word
             System.out.println( entry.getKey( ) + ":" );

                 // Now print the line numbers
             Iterator itr = ( (LinkedList)(entry.getValue( )) ).iterator( );
             System.out.print( "\t" + itr.next( ) );
             while( itr.hasNext( ) )
                 System.out.print( ", " + itr.next( ) );
             System.out.println( );

	    }
	}

Brakuje mi jeszcze tylko opcji, aby moc na podobnej zasadzie wyszukac konkretne slowo i wyswietlic je w tej samej formie (wlacznie z liniami, gdzie sie znajduje). Z gory dziekuje za jakakolwiek pomoc

pozdrawiam