将文本区域保存到文件

Posted

技术标签:

【中文标题】将文本区域保存到文件【英文标题】:Save text area to file 【发布时间】:2012-12-31 21:38:28 【问题描述】:

是否可以中?

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

我明白了:

txtArea1 无法解析为变量。

我做错了什么?

【问题讨论】:

仅凭这一点,我们无法真正帮助您,不。我们不知道txtArea1 是什么,它在哪里声明,这段代码在哪里,甚至你正在使用什么 UI 框架。请阅读tinyurl.com/so-list 如需尽快获得更好的帮助,请发帖SSCCE。 【参考方案1】:

JTextComponent.write(Writer)

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

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

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

【讨论】:

【参考方案2】:

你必须声明它:

JTextArea txtArea1 = new JTextArea();

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

【讨论】:

如果这是解决方案,我会强烈建议首先学习 Java。我拒绝相信你写了 OP 中的内容,然后不知道该错误消息是什么意思...... 这是对我的高度推荐吗?【参考方案3】:

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

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

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

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

【讨论】:

以上是关于将文本区域保存到文件的主要内容,如果未能解决你的问题,请参考以下文章

将文本区域保存到本地服务器上的 HTML 文件

将文本区域的文本保存在数据库中

如何将文本区域内容保存在本地存储中

将文本区域动态添加到容器 extjs

PDO 插入将文本区域上传到我的数据库

您如何一次将文本区域动态添加到页面?