Gerar arquivo texto com formatação padrão

2 respostas
Genoma

Bom dia a todos ! Sou novo aqui no GUJ e estou tentando aprender java.
Estou com uma dúvida para um trabalho que é a seguinte:

Quero gerar um arquivo txt com java mais com uma formtação padrão mais ou menos assim:

#A1515102678955200712LUIZ PAULO [telefone removido] 00001
DSD 00002
DSD aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...... 00003
DSD texto, texto, e mais texto e etc..... 00004
. .
. .
TSD 00017
@105151026789550000000018 00018

Aonde as colunas e linhas matenham este padrão e o texto entre DSD e a contagem da linha 00001, 00002...
tenha sempre o mesmo tamanho. (Não sei se estou querendo demais hehehe)....
Obs: A linha completa corresponde a 86 caracteres.
Eu fiz um pequeno código para começar a idéia, mas confesso que não sei como prosseguir.
Se alguém puder me ajudar agradeço desde já.

Ai vai o código.

import javax.swing.*;
import java.io.*;
public class ExpoTxt
{
	public static void main(String [] args)
	{
	    String cab  = "#A1515102678955200712LUIZ PAULO                    [telefone removido]              00001";
	    String cab2 = "DSD                                                                                                   00002";
	    String fim  = "@1051510267895500000000";
	    String txt  = "";
                    int count   = 0;
                    int x = 1;
       
       System.out.println(cab);
       System.out.println(cab2);         
     
       
       while(x != 0)
       {
       	   x = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite 1 para contiuar e zero para sair!"));
       	   if(x !=0)
       	   {
       	        txt = JOptionPane.showInputDialog(null, "Digite o texto!");
       	        System.out.println(txt);
       	        count++;       	   
       	   }
       	   else
       	   {
       	       System.out.print(fim+count);
       	   }
       	   
       }       
     
     } 
}

2 Respostas

T

Use String.format. Por exemplo:

String campo1 = "abc";
String campo2 = "bcde";
int campo3 = 134;

String s = String.format ("%-20.20s%-50.50s%06d", campo1, campo2, campo3);

imprime o primeiro campo com 20 posições, completando com espaços à direita,
o segundo com 50,
e o terceiro com 6, completando com 0s à esquerda.

Genoma

1º - thingol obrigado pela ajuda, mas eu uso a string s no lugar da string txt?
2º - O campo3 = 134 é o tamanho para conter o formato padrão de 86 caracteres?

Criado 10 de agosto de 2009
Ultima resposta 10 de ago. de 2009
Respostas 2
Participantes 2