Preencha a esquerda com zero ou a direita com branco em Java

Para Quem vai gerar TXT para exportação ou importação em outro Sistema! :>

Num sistema Interno usado na UFPA precisei exportar registros extraídos de um banco para um arquivo .txt obedecendo determinados critérios como: “Preencher com zero a esquerda ou branco a direita, então para facilitar o meu trabalho adaptei um método para esta finalidade e compartilho esta solução com vocês num exemplo Ready to Use!

Pré-Requisitos:

1)    Java SE 5 (1.5) plenamente instalado e configurado

2)    NetBeans 5.5 ou a IDE de sua Preferência
 
Preenchendo com zero a esquerda
ao executar o código abaixo a resposta no console terá que ser “00000000532835”

Listagem 01. Classe Main.
package artigo2;

public class Main {

    public static void main(String args[]){

        Utils util = new Utils();

        System.out.println(util.preencheCom("532835" , "0" , 14 , 1));

    }

}

Explicando: conforme você verificou este método precisa de 4 parâmetros:

1)    A String “532835” representa A Linha ou texto a ser preenchido

2)    A String “0” representa A Letra ou Número que será inserido

3)    O Integer 14 representa o tamanho total que a String a ser preenchida precisa ter

4)   O Integer 1 informa ao método que a String “0” será preenchida a Esquerda

OBS: 1 preenche a Esquerda, 2 preenche a direita ok.:>

A Listagem 02 abaixo apresenta a classe util referenciada acima:

package artigo2;

public class Utils {

    public static String preencheCom(String linha_a_preencher, String letra, int tamanho, int direcao){

        //Checa se Linha a preencher é nula ou branco

        if (linha_a_preencher == null || linha_a_preencher.trim() == "" ) {linha_a_preencher = "";}

       

        //Enquanto Linha a preencher possuir 2 espaços em branco seguidos, substitui por 1 espaço apenas

        while (linha_a_preencher.contains(" ")) {linha_a_preencher = linha_a_preencher.replaceAll(" "," ").trim();}

       

        //Retira caracteres estranhos

        linha_a_preencher = linha_a_preencher.replaceAll("[./-]","");

        StringBuffer sb = new StringBuffer(linha_a_preencher);

        if (direcao==1){ //a Esquerda

            for (int i=sb.length() ; i<tamanho ; i++){

                sb.insert(0,letra);

            }

        } else if (direcao==2) {//a Direita

            for (int i=sb.length() ; i<tamanho ; i++){

                sb.append(letra);

            }

        }

        return sb.toString();

    }

}

 

Preenchendo com Espaço em Branco a Direita

ao executar o código abaixo a resposta no console terá que ser “Fulano de Tal       ” com espaço em branco a direita até completar 20 caracteres. Vejam que duplo espaço em branco é substituído por apenas 1(um) espaço em branco

 

Listagem 3:

package artigo2;

 

public class Main {

 

    public Main() {

    }

 

    public static void main(String args[]){

        Utils util = new Utils();

        System.out.println(util.preencheCom("Fulano de   Tal" , " " , 20 , 2));

    }

}

 
Até a próxima. :)

 
OBS: Este artigo, bem como o código-fonte, é de livre divulgação, desde que, citada a fonte

Dave Fernandes – Analista Programador Java - UFPA


Email: consubr@yahoo.com.br