Colocando posições na string com String.format?

Estou gerando um arquivo.txt aqui: http://www.guj.com.br/posts/list/226219.java

Agora, se vcs virem no ultimo post, estou tentando colocar as informações de um jtable em forma de tabela, para isso acho que o String.format seria uma boa opção, estou tentando fazer assim, mas não estou conseguindo alinhar o esquema

for(int x = 0; x < tabelaConsumo.getRowCount(); x++){
                    linhasTxt.print(String.format("%s",tabelaConsumo.getModel().getValueAt(x, 1)));
                    linhasTxt.print(String.format("%s",tabelaConsumo.getModel().getValueAt(x, 5)));
                    linhasTxt.print(String.format("%s",tabelaConsumo.getModel().getValueAt(x, 4)));
                    linhasTxt.print(String.format("%s",tabelaConsumo.getModel().getValueAt(x, 6)));
                    linhasTxt.println();
                }

isso funciona, mas não consigo acertar o espaçamento das colunas alinhar os valores.

qual seria a melhor maneira pra isso ???

Se quiser que uma string que tem de 0 até 20 posições fique alinhada à direita em um campo de 20 posições, use

“%20s”

Se quiser que uma string que tem de 0 até 20 posições fique alinhada à esquerda em um campo de 20 posições, use

“%-20s”

Se quiser que uma string fique alinhada à direita em um campo de 20 posições (e se precisar, truncar para as primeiras 20 posições), use

“%20.20s”

Se quiser que uma string fique alinhada à esquerda em um campo de 20 posições (e se precisar, truncar para as primeiras 20 posições), use

“%-20.20s”

OK?

e bem isso ae q eu precisava, to procurando sobre string.format aqui mas ta tenso…rs !

vou ver o que consigo !

obrigado.

Você não precisa “procurar”. É questão de você olhar a documentação ( http://download.oracle.com/javase/6/docs/api/java/util/Formatter.html ) e fazer um programinha para ir experimentando com todos esses “%f” e “%d” e %04X" e coisas mais estranhas.

(Em particular, não recomendo usar o % com datas; é muito complicado. Eu prefiro usar um “%s” para imprimir a saída de um SimpleDateFormat.format, que é bem mais simples de especificar.)

opa, eu sempre olho a API/DOCs antes de vir aqui perguntar, e que naum estava sacando sobre posicoes na string, %s…por exemplo, para fixar seu tamanho e tals.

por isso perguntei…t+