java中文字图片读取保存问题

我写了一个java的记事本文件,里面可以允许插入图片,所以文本域用的是JTextPane,现在有个问题,保存文件的话,只保存文子部分,读取的时候也只读取文字,怎么样才能同... 我写了一个java的记事本文件,里面可以允许插入图片,所以文本域用的是JTextPane,现在有个问题,保存文件的话,只保存文子部分,读取的时候也只读取文字,怎么样才能同时保存图片和文字,并能成功读取。谢谢大家了!! 展开
 我来答
beyondxze
2008-12-12
知道答主
回答量:39
采纳率:0%
帮助的人:15.8万
展开全部
JTextPane类的对象可以显示文本、图片和超链接等,在创建了一个JTextPane类的纯文本格式对象后,可以向里面填写入文字(英文或汉字等)、插入超链接或图片,但无法通过getText()方法获得其中除文字以外的内容,也即无法保存包含文字、图片和超链接的完全对象内容,而如果一开始创建的是JTextPane类的HTML格式对象,则虽然可以保存文字的样式(颜色和字体、字号等)但无法再通过insertIcon()方法插入、显示图片,更不能直接保存了,考虑到的解决思路:①通过手工在HTML文件中插入<img src="02.gif">语句来实现对图片的保存,可是这样比较不容易实现,需要将图片保存在特定位置,才可以在下次打开JTextPane类对象是显示出图片;②创建JTextPane类的纯文本对象,在插入图片、超链接、设置字体样式或其它任何对JTextPane类的对象进行的格式设置时均记录下设置的位置和内容,并和文本内容一起保存到硬盘文件中,下次读取时,按照记录重新恢复原内容,实现的过程更复杂;③将JTextPane对象通过对象序列化的方式在硬盘中保存为一个文件,下次读取时再反序列化为完整对象。
最后,选择了最好实现的第三种方法,序列化了JTextPane对象,表现出来的效果不错。不过,在实现过程中未考虑程序的运行效率,现在也不太清楚,这样的处理方式是不是比较没有效率哩?
百度网友07299537f
2008-12-26 · 超过20用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:0
展开全部
表现出来的效果不错。不过,在实现过程中未考虑程序的运行效率,现在也不太清楚,这样的处理方式是不是比较没有效率
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qdmmy6
2008-12-15 · TA获得超过2674个赞
知道小有建树答主
回答量:1823
采纳率:0%
帮助的人:1056万
展开全部
你的JTextPane中包含两个内容信息,一是文本内容,二是图片内容。你保存的文件不可能用其它的文本编辑器打开,只能自己写一个文本编辑器打开它。
在你打开文本内容的文件或是图片内容的文件时,应该不是问题。保存就很难了。
你把所有打开的图片内容保存到一个list中,当需要保存时,把这些图片也保存到磁盘上,而不是保存到一个文件中。当然,还要保存这些图片在文本区中的位置信息。下次打开时,根据上一次保存的图片路径及图片在文本区中的位置添加到文本区中就OK了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sd96800
2008-12-12 · TA获得超过599个赞
知道小有建树答主
回答量:797
采纳率:0%
帮助的人:367万
展开全部
上面说的也对
还有个最苯的方法 把插入的图片转换成流写入对象里.. - -
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捷睿小时
2008-12-12 · TA获得超过403个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:204万
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式