Trabalhando com método StringTokenizer

Tenho um arquivo de texto para ler os dados. Esse arquivo tem várias linha e cad linha tem um número diferente de colunas. Por exemplo, as 20 primeiras linha tem 30 colunas. As próximas tem 50, depois tem algumas com 20,etc. Estou usando o método StringTokenizer para ler o arquivo. O problema é que ele lê de maneira sequencial e eu queria fazer ele ler linha á linha. Como posso fazer isso. Aì vai o trecho do código que faz a leitura.

[code]
public void lb_receptor() {

	 try{
	 	BufferedWriter bw = new BufferedWriter(new FileWriter("saida3.txt"));
 		BufferedReader bf = new BufferedReader(new FileReader("TRANSMISSAO ANX MONOPOLO 19JuL07.log"));
 		while ((line = bf.readLine()) != null)
			{	
				
				StringTokenizer st = new StringTokenizer(line);
 				
 				while (st.hasMoreTokens()) {		
     				id = st.nextToken();
     		
 				}
			}

	 }
 catch (IOException ioe) {
ioe.printStackTrace();
}[/code]

acesse cada linha dentro do seu loop pela variavel ‘line’

Você pode obter melhores resultados com Expressão Regular, e para cada tipo de resultado você cria um padrão.

while ((linha = leitor.readLine()) != null) {
    Pattern patternXpto = Pattern.compile("[suaRegra]");
    Matcher m = patternXpto.matcher(linha.trim());
    while(m.find()){
        System.out.println("ocorrencia 1 " + m.group());
    }

}
				

Vou pesquisar isso que vc falou e depois coloco aqui o resultado. Valeu!!!

Consegui resolver o me problema inserindo uma tag no final da linha para saber até onde é para ler. Valeu pelas respostas de vcs!!