无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站虚位以待
虚位以待广告联系 QQ:184822951 微信:wuyouceoidc大全★服务器租用★香港/5M/450元
查看: 1532|回复: 3

java代码 Mht格式文本提取 只做参考

[复制链接]
发表于 2014-11-19 09:40:23 | 显示全部楼层 |阅读模式
protected String getText(InputStream is)  {
    String mhts = super.readString(is);//读取文件数据

    int a1 = mhts.indexOf("<HTML");
    int a2 = mhts.indexOf("</HTML>");

    String html = mhts.substring(a1, a2 + 7);

    html = decodeQuotedPrintable(html, "GBK");//todo 实际编码


    return  super.dumpText(is);//使用Jsoup读取html中的文本
}


public static String decodeQuotedPrintable(String str, String encoding) {
    if (str == null) {
        return null;
    }
    try {
        //str = str.replaceAll("=\n", "");//??
        byte[] bytes = str.getBytes("US-ASCII");

        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        for (int i = 0; i < bytes.length; i++) {
            int b = bytes[i];
            if (b == '=') {
                int u = Character.digit((char) bytes[++i], 16);
                int l = Character.digit((char) bytes[++i], 16);
                if (u == -1 || l == -1) {//??
                    continue;
                }
                buffer.write((char) ((u << 4) + l));
            }
            else {
                buffer.write(b);
            }
        }
        return buffer.toString(encoding);
    }
    catch (Exception e) {
        e.printStackTrace();
        return str;
    }
}
发表于 2015-4-24 07:21:43 | 显示全部楼层
路过,帮顶下。。。
回复

使用道具 举报

发表于 2016-3-18 11:23:37 | 显示全部楼层


  先支持了再说
回复

使用道具 举报

发表于 2016-4-14 13:36:55 | 显示全部楼层
楼主你太好了.........
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2020-1-20 23:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表