java mht 转换 html_Word单网页mht文件,汉字被html转义解决办法
做项目要生成Word文档时,一般都是先用Word把里面的内容写好,然后另存为mht文件,得到一个网页文件,这样程序就可以自动替换网页中得文件,然后让大家下载。
下载这里就不说了,很简单,如下处理一下就可以了。
String filename = new String("中文汉字.doc".getBytes(), "ISO8859-1");
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
response.setCharacterEncoding("GB2312");
在把word另存为mht时,打开mht发现里面的汉字全部变成了XXXX;这样的格式,被html转义了,正常人无法看懂。所以,我的解决办法是先把html转义字符转成汉字,然后把charset从us-ascii全部替换成gb2312,就哦了。
下面一段代码可以把html转义字符转成汉字。然后你打开文件,全局替换一下us-ascii成gb2312。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
try {
FileReader mhtReader = new FileReader("d:\\源文件.mht");
FileWriter mhtWriter = new FileWriter("d:\\生成文件.doc");
BufferedReader bufReader = new BufferedReader(mhtReader);
BufferedWriter bufWriter = new BufferedWriter(mhtWriter);
String line = bufReader.readLine();
String lines = "";
//中
Pattern pattern = Pattern.compile("(\\d+);");
while (line != null) {
if (line.endsWith("=")) {
lines += line.substring(0, line.length()-1);
line = bufReader.readLine();
continue;
} else {
if (!"".equals(lines)) {
lines += line;
line = lines;
lines = "";
}
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
char c = (char) Integer.parseInt(matcher.group(1));
line = line.replaceFirst(matcher.group(), String.valueOf(c));
}
bufWriter.write(line + "\r\n");
line = bufReader.readLine();
}
}
bufWriter.flush();
bufWriter.close();
bufReader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
最后,打开转化好的文件,在的下一行,插入Print,这样用word打开时,就是视图模式了。
到这里就完美啦!
java mht 转换 html_Word单网页mht文件,汉字被html转义解决办法相关推荐
- Java使用Tomcat服务器打开jsp等文件出现源码的解决办法
问题详情 在最近的Servlet的学习中,我意外的发现以前写在webapp文件夹里的页面文件使用idea打开全部都有问题. html文件 可以打开,但显示异常,大家可以看看有什么问题 导航栏显示如下: ...
- pdf英文转换成html网页,PDF文件转换成html网页文件小方法
原标题:PDF文件转换成html网页文件小方法 现在不知道大家知不知道小学已经开设编程课程了.我记得我们小时候连上个微机课都是一种奢望,所以现在的孩纸还是很享福的呀.但是很多的小白估计听着代码.编程这 ...
- VS2010 LNK1123:转换到 COFF期间失败:文件无效或损坏”的解决方法
2019独角兽企业重金招聘Python工程师标准>>> " "LNK1123:转换到 COFF期间失败:文件无效或损坏"的解决方法 一.错误描述 之前写 ...
- Java 修改文件时间不生效以及解决办法
Java 修改文件时间不生效以及解决办法 Java 修改文件更新时间 不生效原因 解决办法 Java 处理文件的时候,修改文件的更新时间,发现不生效,这里记录一下问题以及解决办法. 本文以修改照片时间 ...
- java ee ide 假死_Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...
- 桌面html文件图标异常,.htm.html文件图标无法显示的解决办法
.htm.html文件图标无法显示的解决办法 症状:后缀为Htm和Html的文件图标显示为未关联的.应用程序图标,并且通过常用的设置文件夹属性的方式修改不起作用,右键属性里改变默认打开程序也不起作用. ...
- 桌面html文件图标异常,.htm .html文件图标显示异常的解决办法
.htm .html文件图标显示异常的解决办法 发布时间:2008-11-22 12:55:25 作者:佚名 我要评论 症状:后缀为Htm和Html的文件图标显示为未关联的应用程序图标,(看着 ...
- ClassCastException: java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject 的解决办法
问题概述 关于这个问题,是与第三方公司合作,远程调用服务接口时(就相当于调用远程服务提供者)遇到的这个问题," java.lang.ClassCastException: java.lang ...
- 电脑中病毒所有html文件,电脑中了病毒所有文件都多了三个文件是什么原因以及解决办法...
360安全卫士v10.3.0.2007官方最新版 类型:360工具大小:63M语言:中文 评分:7.9 标签: 立即下载 电脑中了病毒所有文件都多了三个文件是什么原因以及解决办法,最近不少人的电脑中了 ...
最新文章
- springboot+vue前后端分离实现宿舍管理系统
- reactjs 兄弟通信,父子通信
- datagridview新增列在最后_数说|科创板2020:募资额2200+亿超主板列A股第一,科技“千元股”、“市值王”长成...
- rm 空间不释放_rm删除文件之后,空间就被释放了吗?
- 利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired
- 代码同时托管到github和git.oschina.net
- Java Web学习总结(32)——Java程序员最亲睐的Web框架
- FZU 1692 Key problem
- paip.asp vbs通过CLI命令行调用PHP代码
- iOS XCode 解决 error: Unable to load contents of file list
- c语言成绩管理程序设计,成绩管理程序设计报告(含代码C语言
- 如何用OKR搞垮一个团队
- 电缆公司如何面对企业改革?MES系统打造智能工厂
- OpenHarmony HDF Input框架模块 按键控制LED基于小熊派micro
- 苹果开放降级通道_iOS 12.2的验证通道已关闭,两款机型可降级!
- 【樂理】自然音階及其三和弦列表
- 毕业论文知识点记录(三)——SPSS去相关
- (python爬虫时)如何知道是否代理ip伪装成功
- 软件外包如何正确定价
- 艾科dell服务器系统安装教程,武汉swarm部署
热门文章
- SMBIOS信息概述 – DMI
- 牛客网:乘积为正数的最长连续子数组
- 一位15年资深HR直言:清退35岁以上基层员工,早已是公开秘密
- 《基于Cortex-M4的ucOS-III的应用》课程设计 结题报告
- 唐天下文化传播:惹火2021公司新年年会,天下谁人不识君?
- DNF登陆的时候说连接服务器失败,请检查您的网络。是否启用修复程序进行修复?,要买春节套,DNF游戏安全组件发生异常强制退出怎么办?...
- C++实现二维快速傅里叶变换(FFT)
- Excel高效插入空行,2秒删除表格所有空行,实在太效率了
- 计算机网络笔记(3) 网络应用P2P架构
- vue 2.0系列QQ音乐播放器案例