Salvar campos do JFrame num arquivo .txt

7 respostas
C

Oi, eu gostaria de saber como eu faço pra salvar as informações digitadas nos campos de um JFrame em um arquivo .txt.
Obrigada!!!

7 Respostas

F

Oi Cynthya :smiley:

vc pode fazer isso criando uma FileOutputStream e uma PrintStream. É bem simples só altera o código

//Aqui você determinar em qual o arquivo que será feito a edição
FileOutputStream fos = new FileOutputStream("text.txt", true);
PrintStream ps = new PrintStream(fos);

Depois é só dar um println no PrintStream e ele escreverá no Arquivo.

ps.println("Olá Chyntia!");

Dessa forma vc pode passar como parâmetro o que vc quizer, sendo uma string, e ele escreverá no seu Arquivo.

Espero ter ajudado,

Beijos

C

Não entendi.
eu tenho que colocar o nome do meu campo, a posição do meu vetor ou o que como parametro???
Obrigada!!!

B

Boa tarde Cynthya,

a linha:

ps.println("Olá Chyntia!");

espera como paramentro a frase ou valor que você deseja colocar no arquivo, no seu caso os valores vindos de um JFrame.

Tudo o que você precisa fazer é pegar esses valores e passar como parametro no ps.println().

Espero que tenha ajudado,

Guilherme Bernert

F

Cynthya,

o ps.println() funciona quase como um System.out.println().

A única diferença é que no System.out.println() ele imprime a String no console.

Já o ps.println() ele imprimirá no arquivo txt.

// Se passar essa String "Olá Cynthya" como o parâmetro do PrintStream
//ele imprimirá "Olá Cynthya" no seu arquivo TXT.
ps.println("Olá Cynthya");

Aí vc pode abstrair como quiser:

Exemplo:

JTextField field = new JTextField();
field.setText("Olá Cynthya");

// Aqui imprimirá o que está no seu JTextField no TXT.
ps.println(field.getText());

Fica com Deus,
Mininah

C

Obrigada meninos!!!

V

Só uma coisa. No lugar do PrintStream, é recomendável usar o PrintWriter. O uso é muito similar:

PrintWriter writer = new PrintWriter(new FileWriter("C:/teste.txt")); writer.println("Escrita em arquivo."); writer.println("Essa é a segunda linha"); writer.flush(); writer.close();

A diferença de um writer para um Stream é que as classes de Stream são feitas para trabalhar com bytes. Não levam em consideração o encoding, o que pode te levar a ter problemas com caracteres acentuados.

Já os writers podem ser encarados como “Streams de caracteres”.

V

Na verdade, funciona exatamente igual. Até porque o objeto “out”, associado a classe System, é um PrintStream:
Como diz o javadoc:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html#out

A declaração dele é assim:

public static final PrintStream out

Quem é similar é o PrintWriter, que implementa praticamente os mesmos métodos. :slight_smile:

Criado 9 de junho de 2010
Ultima resposta 10 de jun. de 2010
Respostas 7
Participantes 4