Estou fazendo um arquivo de exportação de um ERP para o sistema de contabilidade. O problema é que o sistema de contabilidade alguns campos são maiores do que o campo do ERP, nesse caso tenho que completar com espaços. A solução que usei foi:
//O tamanho do sistema de contabilidade é 60
String s1 = bancodedados.getDescricao(); //Entendam que dei acessei o banco de dados e peguei as informacoes
int tamanho = 60 - s1.length();
String espacos = "";
for (int i = 0; i < tamanha; i++) {
espacos+=" ";
}
s1+=espacos;
Em clipper existe uma funçao space(tamanho); que ja faz isso direto. Procurei na API de String, StringBuffer e StringBuild e nao achei nada similar. Alguem conhece uma forma mais simples (metodo) que faça isso?
Muitissimo obrigado thiago.correa deu certissimo. Segue o exemplo do teste que fiz. So um porem, eu procurei sim. Mas no metodo String.format que vi na API nao fala nada sobre o “%-60s”. Eu nao tinha como achar nunca. agora qual a logica dessa expressao? Como explicaria ela para um leigo? A principio eu entendi que o -NNs era a quantidade de espacos adicionais. Depois do teste vi que o -NNs era o tamanho maximo.
Na verdade 0 % é para indicar o tipo de objeto é aquele que está sendo passado por parâmetro parâmetro, pode ser posicional, ou você pode indicar qual a posição do argumento!
o ‘-’ serve para dize que o texto vai ser alinhado a esquerda, sem ele, o texto iria ficar todo para a direita!
O número diz, qual é o tamanho do texto! E o s é o tipo do parâmetro!
Para mais informações sobre a string de formatação você pode consultar