0

I have a program which searches for words in a given list(alphabetically arranged). Thing is say, I put in "abc" and "def" and then "abcd".

It'll search for "abc" - print it, now the string tokenizer will continue searching for "def" from the token after "abc", so obviously "def" is found. The problem is I want "abcd" to be found third and "abcd" doesn't exist in the list after "def" which is where the tokenizer will continue from.

How do I reset the nextToken() function of the String Tokenizer? Or rather how do I get the tokenizer function to read from the very beginning of the file for every comparison?

[EDIT]

I'm aware I could just open and close the file. I'd like to know if there's any way to do it with only String tokenizers. I've googled quite a bit. No results so far.

[CODE] This is the code concerning the tokenizer and its in a separate function which is called and a new string is passed every time.

while(sTok.hasMoreTokens()&&f!=0)
        {
            String m=sTok.nextToken();
            //System.out.println(m);
            match=false;
            if(input.length()==m.length())
            {
                //System.out.println(input+" is being compared to "+m);
                for(int i=0;i<m.length();i++)
                {
                    for(int z=0;z<m.length();z++)
                    {
                        //System.out.println("char in m="+m.charAt(i)+" char in input="+a[z]);
                        if(m.charAt(i)==a[z])
                        {
                            match=true;
                            z=m.length();
                        }
                        else 
                            match=false;
                    }
                    if(match==false)
                    i=m.length();
                }
            }
            if(match==true)
            {
                //System.out.println(m);
                toWrite=toWrite+m+",";
                fr.close();
                return;
            }
        }
Karthik Balakrishnan
  • 4,353
  • 6
  • 37
  • 69

1 Answers1

0

The Apache Commons Lang's org.apache.commons.lang.text.StrTokenizer class might help you. It provides a method to get the previous token as well as several different reset() methods:

StrTokenizer reset() // Resets this tokenizer, forgetting all parsing and iteration already completed.
StrTokenizer reset(char[] input) // Reset this tokenizer, giving it a new input string to parse.
StrTokenizer reset(String input) // Reset this tokenizer, giving it a new input string to parse.
izilotti
  • 4,757
  • 1
  • 48
  • 55