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:
->Java SE 5 (1.5) plenamente instalado e configurado
->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:
->A String “532835” representa A Linha ou texto a ser preenchido
->A String “0” representa A Letra ou Número que será inserido
->O Integer 14 representa o tamanho total que a String a ser preenchida precisa ter
->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.
Para Baixar o Código-Fonte Deste Artigo Clique Aqui. Ou http://br.geocities.com/consubr/artigos/Artigo2_Preenche_Com.zip
OBS: Este artigo, bem como o código-fonte, é de livre divulgação, desde que, citada a fonte