Gravação de dados em Arquivo .TXT

5 respostas
M

Boa Tarde

Quero fazer a gravação de dados em um arquivo texto… na leitura eu usei substring para separar os pedaços das linhas e submeter ao tratamento, agora preciso salvar o resultado em um novo arquivo de texto porem com tamanho definido no arquivo.

por exemplo, na substring eu usei x.substring(0, 71) agora eu quero gravar o resultado no campo 5 ao 20… como eu faço?

5 Respostas

T

Para cada linha a escrever no banco, monte-a com os pedacinhos que você precisa (é realmente trabalhoso. ).

M

você poderia dar um exemplo? tipo, quero gravar o conteudo: “R JOSE CESAR 35” em um espaço de 40 e logo depois “SAO PAULO” em um espaço de 15…

desculpa perguntar tanto, mas é a primeira vez que to tratando dados em JAVA… pra descobrir como fazer as leituras ja foi uma guerra pra mim… hehe, essa parte de gravação eu não achei em nenhum lugar…

valeu

M

bw.write(this.logradouro + this.bairro + this.localidade + this.uf + this.cep + ":" +anResult.getCodigo()+ defLogradouro+ anResult.getBairro(0)+ anResult.getLocalidade(0)+ anResult.getUF(0)+ anResult.getCep(0)+":" + anResult.getCodigo()+"\n");

os valores com get tem tamanho de campo pré definido para gravação… mas não sei como fazer…

T

Se você puder usar Java 5.0 é mais fácil. Vou dar um exemplo besta.

import java.io.*;

class TestePrintf {
    public static void main(String[] args) throws IOException {
        PrintWriter fw = new PrintWriter ("relatorio.txt");
// "R JOSE CESAR 35" em um espaço de 40 e logo depois "SAO PAULO" em um espaço de 15...         
        String logradouro = "R JOSE CESAR 35";
        String cidade = "SAO PAULO";
        fw.println ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"); // só para servir de referência para você ver que 
        fw.printf  ("Logradouro: %-40.40s Cidade: %-15.15s (fim)%n", logradouro, cidade);
        fw.close();
    }
}

Veja o arquivo “relatorio.txt”.

M

não consegui adaptar o esquema que você passou para o programa…

tentei enganar o JAVA, jogando o valor dentro de uma substring com o espaço que eu quero ocupar mas não deu certo… para ler os dados eu fiz assim:

a = br.readLine(); for (cont = 0; totline > cont; cont++) { System.out.println("Lendo linha: " +cont); this.logradouro = a.substring(0,71); this.bairro = a.substring(71, 111); this.localidade = a.substring(111, 151); this.uf = a.substring(151, 153); this.cep = a.substring(153, 161);

não tem como fazer algo parecido mas gravando as linhas ao invés de ler?

Criado 31 de maio de 2006
Ultima resposta 31 de mai. de 2006
Respostas 5
Participantes 2