Estou tendo um problema com o StringTokenizer, estou lendo um arquivo txt gerado por um outro sistema, tenho que recuperar algumas informações. Uma das informações que eu tenho que recuperar é o ano em que o arquivo foi gerado. Porem ai que surge meu problema.
Estou usando o metodo countToken para recuperar o ano do arquivo, porem somente o primeiro ano é impresso, o restante possui tokens a mais, porem ao ver o arquivo isso nao acontece, aparentemente esta com o mesmo numero de tokens, alguem tem alguma sugestão para eu recuperar esse ano ??
Não use StringTokenizer porque ele tem vários problemas; use String.split, a menos que você esteja usando Java 1.3, que não tem String.split.
T
thingol
Um exemplo onde StringTokenizer não funciona direito mas String.split funciona:
String linha = "10;;20;;;30;'40';;;";
String[] linhas = linha.split (";", -1); // os campos vazios são retornados corretamente, o que não ocorre com StringTokenizer.
E
eduardognz
Entao thingol
ele nao eliminou o espaco em branco da linha.
Fiz isso:
String line[] = linha.split(" ");
Ele manteve.
T
thingol
Mas não entendi o que você quer fazer. Com esse “split” que você nos mostrou, ele só vai pegar as coisas se eles estiverem separados por exatamente 8 caracteres. É isso mesmo?
nextuser
manda o texto que vc está tentando trabalhar para facilitar!
E
eduardognz
isso mesmo thingol
T
thingol
Ainda tem alguma coisa estranha. Se forem separados por 7 caracteres brancos, por exemplo, então não é para separar os campos. É isso mesmo que você quer?
E
eduardognz
na verdade eu quero excluir os espacos em branco, para verificar se a linha comeca com um determinado nome.
nextuser
se oq te interessa é o começo da linha e tem espaço no começo faz um trim e pronto…