如何持久存储数据库中的文档样式文本?

时间:2015-03-26 06:43:16

标签: java database swing styledtext styleddocument

所以我目前正在制作一个程序,允许用户创建"帖子"带有样式的文字。现在我使用的是Java的DefaultStyledDocument,但是我可以使用其他选项(最好是实现StyledDocument)。我最初发布了一些关于直接序列化DefaultStyledDocuments here的内容。但是,可能有更好的方法来存储这些文档。我怎么能这样做?

此外,我希望能够将这些样式存储在数据库(可能是MySQL)中,在考虑这个问题时还有什么我需要知道的吗?我可以直接导出到XML吗?

最后,快速讨论HTMLDocuments。我可以使用HTMLDocuments,但是我已经听说过关于Java的HTML渲染器的坏事,我也希望用户能够轻松编辑样式文本。 DefaultStyledDocument允许使用StyledEditorKit进行非常简单的编辑。所以HTMLDocuments有它们的缺点,除非能找到替代方案,否则我更愿意坚持使用DefaultStyledDocuments。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用RTFEditorKit或AdvancedRTFEditorKit将文档写入RTF文本。哪个更好取决于您需要的文档。高级版支持表,图像,缩进等,但需要单独的jar文件。 RTFEditorKit是内置的,但不需要单独的Jar文件。

使用AdvancedRTFEditorKit编写:

AdvancedRTFEditorKit editor = new AdvancedRTFEditorKit();
Writer writer = new StringWriter();
editor.write(writer, content, 0, content.getLength());
writer.close();
String RTFText = writer.toString();

RTFEditorKit使用类似的过程。结果是String,很容易存储在大多数类型的数据库中。