StringTokenizer pegando arquivo de texto externo (RESOLVIDO)

Bom dia pessoal estou com uma duvida no Stringtokenizer
fiz uma apliacao que pega um arquivo do tipo properties q contem text = a;b;c;d;e;f e number = 1;2;3;4;5;6
eu consigo ler esse arquivo normalmente mais quando eu uso o string tokenizer para separar a; b; c;… ele nao separa ele imprimi normal
sera que alguem poderia me ajudar?
obrigado
o codigo:

import java.io.IOException;
import java.util.Properties;
import java.util.StringTokenizer;


public class main {
	public static void main(String[] args) {
    
	//cria uma variavel props do tipo properties
	Properties props = System.getProperties();
    
    try {//tenta pegar um arquivo do computador
    	
    	//variavel props recebe conteudo de arquivo example
		props.load( ClassLoader.getSystemResourceAsStream("example.properties") );
		
	} catch (IOException e) {//caso ocorra algum erro ele imprime o erro que deu
		e.printStackTrace();
	}
	String str = props.getProperty("text");
	
	//variavel st recebe valor que esta em text da variavel props
	StringTokenizer st = new StringTokenizer(str, "   ");
	
	//variavel st2 recebe valor que esta em number da variavel props
	StringTokenizer st2 = new StringTokenizer(props.getProperty("numbers", " " ));
	
	
	while (st.hasMoreTokens()){//repete enquanto st conter elementos
		System.out.println(st.nextToken());//imprime elemento de st e vai para proximo
	}//parada do while
	
	while (st2.hasMoreTokens()){//repete enquanto st2 conter elementos
		System.out.println(st2.nextToken());//imprime elemento de st2 e vai para proximo
	}//parada do while
	
	//cria um stringbuffer stn para receber o valor numbers da variavel props
	StringBuffer stn = new StringBuffer(props.getProperty("numbers"));
	
	//pega o conteudo da variavel stn e invete ela
	stn.reverse();
	
	//imprime conteudo de stn
	System.out.println(stn);
	
	//cria um stringbuffer stt para receber o valor text da variavel props
	StringBuffer stt = new StringBuffer(props.getProperty("text"));
	
	//pega conteudo de stt e inverte ele
	stt.reverse();
	
	//imprime conteudo de stt
	System.out.println(stt);
}
}

O segundo argumento do construtor do StringTokenizer é o separador que você quer utilizar. No seu caso, pelo que vi, o seu arquivo é separado por “;”, mas você está mandando o StringTokenizer separa por " " (espaço em branco). Mude o contrutor do StringTokenizer para:

StringTokenizer st = new StringTokenizer(str, ";");

krinha deu certo
obrigado
eu pensei que o segundo argumento foce oque vc queria por na string por exemplo 1 espaco ou 1 outro character

obrigado…

Seu código foi escrito em Java 1.4 ou inferior? Muita coisa mudou desde o Java 5.

No lugar do StringTokenizer, use o método split da classe String.

O tokenizer não é a aconselhado pela Sun (veja o próprio javadoc da classe StringTokenizer, que diz que ela não deve ser usada). O split também vai dar uma boa simplificada nesse seu código.

A Sun também aconselha usar StringBuilder no lugar do StringBuffer.

import java.io.IOException;
import java.util.Properties;

public class main {
    public static void main(String[] args) {
        //cria uma variavel props do tipo properties
        Properties props = System.getProperties();    
        try {//tenta pegar um arquivo do computador
            //variavel props recebe conteudo de arquivo example
            props.load( ClassLoader.getSystemResourceAsStream("example.properties") );		
        } catch (IOException e) {//caso ocorra algum erro ele imprime o erro que deu
            e.printStackTrace();
            System.exit(1);
        }

        for (String txt : props.getProperty("text").split(";")) {
            System.out.println(txt);//imprime elemento de st e vai para proximo
        }
	
        for (String number : props.getProperty("numbers").split(";")) {
            System.out.println(number);//imprime elemento de st2 e vai para proximo
        }
	
        //cria um stringbuffer stn para receber o valor numbers da variavel props
        StringBuilder stn = new StringBuilder(props.getProperty("numbers"));
	
        //pega o conteudo da variavel stn e inverte ela
        stn.reverse();
	
        //imprime conteudo de stn
        System.out.println(stn);
	
        //cria um stringbuffer stt para receber o valor text da variavel props
        StringBuilder stt = new StringBuilder(props.getProperty("text"));
	
        //pega conteudo de stt e inverte ele
        stt.reverse();
	
        //imprime conteudo de stt
        System.out.println(stt);
    }
}

hmm obrigado pela dica vini
eh que o exercicio que eu estava fazendo precisava de usar o stringtoknizer

hehe

Verifique se o livro ou a apostila que você está usando não é antigo, e se não tem uma versão mais atual.
Aí já evita pegar os vícios do Java 4.