将文本区域保存到文件

4

是否可以将文本区域保存到文件中?

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

我得到的是:
txtArea1无法解析为变量。
我错在哪里了?
(注:这是关于IT技术的问题,可能是Java或其他编程语言中的错误提示信息)

2
仅凭这些信息,我们无法真正地帮助您。我们不知道txtArea1是什么,它在哪里声明,这段代码在哪里,甚至不知道您使用的UI框架是什么。请阅读http://tinyurl.com/so-list。 - Jon Skeet
为了更快得到帮助,请发一个 SSCCE - Andrew Thompson
3个回答

6

请查看JTextComponent.write(Writer)

将模型的内容存储到给定流中。默认情况下,此操作将以纯文本形式存储模型。

因此,您的示例可能如下所示:

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

0

你必须声明它:

JTextArea txtArea1 = new JTextArea();

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


如果这是解决方案,我强烈建议首先学习Java。我拒绝相信你写了OP中的内容,然后不知道那个错误信息的含义... - Qix - MONICA WAS MISTREATED
这对我来说是高度推荐吗? - Dan D.

0

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

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接