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” )
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