Especificar coluna para escrita em arquivos texto

3 respostas
J

Olá boa tarde pessoalL, seguinte estou com uma dúvida besta + ainda não encontrei solução. Gostaria de escrever dados em um arquivo texto diretamente em uma coluna, tipo escrever determinada informação em determinada coluna, em outras palavras como faço p/ ir diretamente p/ uma coluna e iniciar a escrita por exemplo queria escrever na coluna 82, o método print permite que eu especifique a coluna onde iniciar a escrita de algo ?

estou utilizando um obj da classe PrintWriter p/ escrever no arquivo.

Obrigado

3 Respostas

T

java_noob:
como faço p/ ir diretamente p/ uma coluna e iniciar a escrita por exemplo queria escrever na coluna 82, o método print permite que eu especifique a coluna onde iniciar a escrita de algo ?

Não: você tem de completar com espaços. Use o “printf” (que está disponível no PrintWriter do Java 5.0, se não me engano) para facilitar. Exemplo:

String campo1, campo2;

int campo3;

out.printf ("%-30.30s|%-20.20s|%4d%n", campo1, campo2, campo3);

imprime o campo 1 com 30 posições, alinhadas à esquerda, o campo 2 com 20, alinhadas à esquerda, e o campo 3 com 4 posições, alinhadas à direita.
(Uso o truque “%-30.30s” para o caso de campo1 exceder 30 posições; nesse caso o campo é truncado. )

T
import java.io.*;

class TestePrintWriter {
    public static void main(String[] args) throws IOException {
        PrintWriter pw = new PrintWriter (new FileWriter ("teste.txt"));
        String campo1 = "Abstrato", campo2 = "Este campo excede facilmente 20 caracteres, hein?";
        int campo3 = 14, campo4 = 2, campo5 = 2007;
//
// Imprime:
// Abstrato                      |Este campo excede fa|14/02/2007        
//
        pw.printf ("%-30.30s|%-20.20s|%02d/%02d/%04d%n", 
            campo1, campo2, campo3, campo4, campo5);
        pw.close();
    }
}
J

Ok muito obrigado pela explicação, farei da forma que descreveu.

Abraço

Criado 14 de fevereiro de 2007
Ultima resposta 15 de fev. de 2007
Respostas 3
Participantes 2