项目上需要指定生成的Xml文件为GB2312编码,之前用的
org.dom4j.io.XMLWriter xw = new org.dom4j.io.XMLWriter( new FileWriter(targetFile), of);
发现,并为生效,文件编码仍是服务器的默认编码,改成
org.dom4j.io.XMLWriter xw = new org.dom4j.io.XMLWriter( new FileOutputStream(targetFile), of);
测试生成文件编码为设置的GB2312,生成文件成功!
/**
* 生成XMl文件
* @param doc
* @param targetFile
* @throws IOException
*/
public static void writeXML(Document doc, String targetFile)
throws IOException {
OutputFormat of = OutputFormat.createPrettyPrint();
of.setEncoding("GB2312");
of.setIndent(true);
of.setNewlines(true);
org.dom4j.io.XMLWriter xw = new org.dom4j.io.XMLWriter(
new FileOutputStream(targetFile), of);
xw.write(doc);
xw.flush();
}