java RTF 转 TXT 出错问题。

博主第一次写这种关于技术汇总的问题,写不好见谅哈。最近老大给了一个任务,转换文档,DOC,DOCX,PDF,RTF转TXT,其实我以上都弄完了。也测试通过,我们都要上线一个版本了,擦。。。上线过后出险了非常诡异的一个问题。RTF转换TXT出错如下:

 java.io.IOException: Too many close-groups in RTF text

有一些RTF文档老是报这个错误。不知道是为什么,开始也比较疑惑所有了网络很多帖子和谷歌。找了两三天没找到,遗憾,无耐只能博主自己搞一下,当然中间还有一些乱码问题滤过了,如果有问题的同学可以跟我联系大家互相交流一下,再次不过多表述。

我的原始代码是这么写的:


只要一运行到

rTFEditorKit.read(inputStream, styledDoc, 0);  这句话就报错,很无奈。最重要的是,不是所有RTF文档有问题,只有个别的,但是无奈个别文档也得排除啊。
 

后来经过代码改良,不断尝试。。。终于....从一个哥们帖子里面看到了精华,RTF---转 HTML --转 TXT,说好精华呢,居然是曲线救国。。。发现确实可用,但是太绕了。经过我自己尝试和看底层代码的区别。改良后的代码:







猜到大家也发现了重点:

rtfeditorkit.read(bytearrayinputstream, document, 0);

这里传入了一个bytearrayinputstream, 我之前是传的inputstream ,感觉还是有区别的。

但是呢,是不是所有的问题都是这个导致的呢。有待考察和测试,至此问题解决,不在报IO异常。

 java.io.IOException: Too many close-groups in RTF text

  如果有大神解决过这个问题,或者知道其中的原理,望告知小弟,或者一起讨论。我只是一个搬砖的码农,希望跟大家一起提升。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值