Salvar campos do JFrame num arquivo .txt

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!!!

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

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

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

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

Obrigada meninos!!!

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”.

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: