将文本区域保存到文件

时间:2013-01-17 10:58:14

标签: java file-io textarea save

是否可以将textarea保存到文件中?

FileWriter fw = new FileWriter(file1.getAbsoluteFile(), true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(txtArea1);

我明白了:

  

txtArea1无法解析为变量。

我做错了什么?

3 个答案:

答案 0 :(得分:5)

请参阅JTextComponent.write(Writer)

  

将模型的内容存储到给定的流中。默认情况下,这会将模型存储为纯文本。

因此,您的示例可能类似于:

FileWriter fw = new FileWriter(file1.getAbsoluteFile(), true);
txtArea1.write(fw);

答案 1 :(得分:0)

您必须声明:

JTextArea txtArea1 = new JTextArea();

然后,保存时,保存txtArea1.getText();

答案 2 :(得分:0)

我认为将纯文本GUI组件保存到文件的原因很少。如果您只需要保存内容,最好存储可以通过getText()获取的内容字符串。

但是,您可能需要存储一些可以在JTextArea(标签大小等)上完成的设置。为此,我建议使用XMLEncoder

   XMLEncoder e = new XMLEncoder(
                      new BufferedOutputStream(
                          new FileOutputStream("save.xml")));
   e.writeObject(txtArea1));
   e.close();

这将保存所有非默认设置以及内容字符串。它也可以通过序列化,但这种格式在不同虚拟机之间的可移植性较差。