Java如何解析MHT文件?用一般的字符流读取文件会乱码。

Java如何解析MHT文件?用一般的字符流读取文件会乱码。请问怎么解决乱码问题。多谢!!!

看看这几个

[url]http://www.chilkatsoft.com/java-mht.asp[/url]

[url]http://www.example-code.com/java/javamht.asp[/url]

[url]http://www.iteye.com/topic/177504#503532[/url]

MHT叫“web单一文件”。顾名思义,就是吧网页中包含得图片,CSS文件以及HTML文件全部放到一个MHT文件里面。而且浏览器可以直接读取得,嘿嘿,由此我仿佛看到了以后网友们可以自己定制自己喜欢得模板,然后做成MHT文件………………

刚才直接用记事本打开了MHT文件,看了下文件结构,最开始得是一些无关紧要得信息,不管了。然后发现,MHT文件似乎是把所有的图片用二进制数据保存,不过是通过BASE64加密以后保存的,每个图片开头都包含了

Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.china-askpro.com/images/logo_china_askpro_2.gif

格式化的信息。

然后就是HTML页的代码,包括了CSS文件代码,HTML代码,JS代码。发现中文再这里都是以编码后的格式保存的,目前还不知道是什么编码的,不过英文是没有编码的,嘿嘿,现在就要再这里做文章了。

这不是单纯的字符流可以读取的,

[color=blue][b]MHT 不是纯文本文件,而是含有格式的文件,你不能使用 流的方式 解析。

你只能借助第3方jar包,或者,自己逐个字节地解析MHT文件。[/b][/color]