Problemas com StringTokenizer

E ai pessoal?

Seguinte

eu to lendo o conteudo de um arquivo .csv e gravando o conteudo desse arquivo no banco(isso era o q deveria estar fazendo).

A parte de ler o conteudo do arquivo ta blz.
Cada linha vai ser gravada em um registro no banco, e nessa linha q eu li do arquivo os campos estao separados por “;”.

O problema é esse

 ...;valor1;valor2;;valor4;...

O String tokenizer ta “pulando” um “;” e jogando o valor4 no banco onde deveria ficar vazio…

Tem como pegar esse espaço vazio entre os ";"s?
Não sei se fui claro na explicação, mas agradeço qualquer ajuda.
T+!

kra, não sei se tem como fazer isso de forma automatizada, mas vai aki uma “gambiarra”…

String previous = new String(); StringTokenizer s = new StringTokenizer("valor1;valor2;;valor4;",";",true); while ( s.hasMoreTokens() ){ String next = s.nextToken(); if ( !next.equals(";") ){ System.out.println( next ); }else{ if ( next.equals(";") && previous.equals(";") ){ System.out.println("Espaço em branco!!"); } } previous = next; }

flw

[quote=“andersonra”]kra, não sei se tem como fazer isso de forma automatizada, mas vai aki uma “gambiarra”…

String previous = new String(); StringTokenizer s = new StringTokenizer("valor1;valor2;;valor4;",";",true); while ( s.hasMoreTokens() ){ String next = s.nextToken(); if ( !next.equals(";") ){ System.out.println( next ); }else{ if ( next.equals(";") && previous.equals(";") ){ System.out.println("Espaço em branco!!"); } } previous = next; }

Até onde eu sei tb, não tem um método definido para obter os espaços…

flw[/quote]

Valew ai pessoal!

Já adaptei o codigo as minhas necessidades e funcionou direitinho!
Não encontrei mesmo nenhum metodo pra devolver automatico…
Se alguem souber como eu agradeço
(afinal o codigo fica mais “light” :grin: )

Novo arquivo, novos problemas…

Dessa vez trata-se de um outro arquivo, os valores estão separados por tabulação.
Tentei usar como delimitador o “\t”, mas da o seguinte erro:

java.util.NoSuchElementException
	at java.util.StringTokenizer.nextToken(StringTokenizer.java:232)
	at java.util.StringTokenizer.nextToken(StringTokenizer.java:259)
	at br.com.liveware.gma80.Parser.inserir(Parser.java:56)
	at br.com.liveware.gma80.GMA80Main.main(GMA80Main.java:22)
Exception in thread "main" 

ou seja, ele não ta reconhecendo as tabulações q separam os valores.
Se alguem souber como eu agradeço