Salvar um arquivo com posição

12 respostas
M

Sou novato e gostaria de saber como posso gravar um arquivo com posição ex.:
cod nome endereco telefone

desde ja agradeço a todos

12 Respostas

neohacker

Bem Vindo ao GUJ :!:
Não consegui entender a sua dúvida, poderia tentar ser maisdetalhista e se possível colocar mais um tipode exemplo

Dica para os próximos tópicos que for escrever:
http://www.guj.com.br/posts/list/50115.java

M

desculpa vou tentar explica… quero salvar um arquivo os seguinte dados de um jtextfield cod, nome, endereço, telefone desta forma

1 teste teste 2
2 teste2 teste2 2

para que quando eu recuperar a informação posso colocar denovo dentro dos jtextfield.

thiago.correa

Você pode usar vírgulas ‘,’ ou pode usar tabs ‘\t’, depois quando for recuperar você pode usar o método split.

P.S.: Para gravar em um arquivo basta usar:

try {
        BufferedWriter out = new BufferedWriter(new FileWriter("Arquivo.txt"));
        out.write("Nome,Telefone,Endereco,Sexo\n");
        out.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

P.S.2: Não se esqueça de dar nova linha, java não faz isso automagicamente!

M

mais desta forma nao fica de forma organizada um embaixo do outro cod embaixo de cod, nome em baixo de nome, endereco embaixo de endereco, telefone embaixo de telefone…

preciso que ele grave numa forma que posso depois usar substring() para poder depois colocar nos jtextfield correspondete

Y

mksbraga:
mais desta forma nao fica de forma organizada um embaixo do outro cod embaixo de cod, nome em baixo de nome, endereco embaixo de endereco, telefone embaixo de telefone…

preciso que ele grave numa forma que posso depois usar substring() para poder depois colocar nos jtextfield correspondete

Aproveitando o código do thiago.correa:

try
  {
   BufferedWriter out = new BufferedWriter(new FileWriter("Arquivo.txt"));
   out.write("Nome\tTelefone\tEndereco\tSexo\r\n");
   out.close();
  }
catch (IOException e)
  { e.printStackTrace(); }

Para que fiquem alinhados os valores, é só tabular.

OBS.: adicionei o “\r” na String a ser impressa, pois, no Windows, o “\n” não quebra a linha.

luistiagos

pq nao grava essas coisas em um BD ao invez de um txt?

M

trabalho de curso… tem que ser gravado em arquivo xt

luistiagos

entao grave linha a linha e depois use um regex para pegar as informações

thiago.correa

Cara, desculpa te decepcionar mas difícilmente um arquivo posicional vai ficar um embaixo do outro, se você por exemplo pegar o nome do antigo Rei do Brasil Dom Pedro II e colocar em um arquivo posicional

COD    NOME    PROFISSAO
1    Pedro de Alcântara João Carlos Leopoldo Salvador Bibiano Francisco Xavier de Paula Leocádio Miguel Gabriel Rafael Gonzaga de Bragança e Habsburgo    ex-Rei
2    Thiago    Desenvolvedor J2EE

Mas como Yky Mattshawn, e como eu mesmo disse, basta usar tab ‘\t’

Yky Mattshawn, o ‘\n’ ele funciona no windows sim, o problema é que se você abrir no notepad, ele não quebra a linha, o bom mesmo é utilizar System.getProperty(“line.separator”) para evitar esse problema

M

mais colocando /t ele vai ficar ?

thiago.correa

Acredito que sim, mas não vai ficar alinhado como você disse!

M

hum… nao teria outra forma de eu fazer?
ja que os meus campos teram tamanho definidos… achei que teira uma forma de fazer igual ao substring()

Criado 10 de maio de 2007
Ultima resposta 10 de mai. de 2007
Respostas 12
Participantes 5