java 读取word 乱码_java根据模板修改内容后,生成word,修改后内容中文乱码

本文档描述了使用Java处理RTF文件时遇到的中文乱码问题。作者分享了尝试过的解决方案,包括使用不同的编码转换,但仍然未能使修改后的中文内容在Word中正确显示。问题集中在模板中的表格单元格内,导致替换的中文变成乱码。作者寻求社区帮助以解决这个问题。
摘要由CSDN通过智能技术生成

Java code

package com.sunyard.test;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintWriter;

import java.io.UnsupportedEncodingException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class OperatorRTF {

/**

* 字符串转换为rtf编码

*

* @param content

* @return

*/

public String strToRtf(String content) {

try {

System.out.println(content);

content=new String(content.getBytes(),"GB2312");

System.out.println(content);

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

char[] digital = "0123456789ABCDEF".toCharArray();

StringBuffer sb = new StringBuffer("");

byte[] bs = null;

bs = content.getBytes();

int bit;

for (int i = 0; i < bs.length; i++) {

bit = (bs[i] & 0x0f0) >> 4;

sb.append("\\'");

sb.append(digital[bit]);

bit = bs[i] & 0x0f;

sb.append(digital[bit]);

}

return sb.toString();

}

/**

* 替换文档的可变部分

*

* @param content

* @param replacecontent

* @param flag

* @return

*/

public String replaceRTF(String content, String replacecontent, int flag) {

String rc = strToRtf(replacecontent);

String target = "";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值