【发布时间】:2012-01-24 22:45:14
【问题描述】:
我在我的 Java 应用程序中实现了以下代码
//create string from xml tree
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
trans.transform(source, result);
String xmlString = sw.toString().replaceAll("&[^;]+?;", ""); //Replace invalid HTML characters
//print xml
System.out.println("The XML is:\n\n" + xmlString);
OutputStream out = new FileOutputStream(dir.getSearchFileOutputDirectory() + "\\" + "output.xml");
//Write the XML to disk
out.write(xmlString.getBytes("ISO-8859-1"));
out.close();
现在,如果我在 Netbeans 中运行它,XML 文件可以在 Chrome、IE 和 Firefox 中完美呈现。但是,一旦我清理并构建代码,然后运行独立的 JAR 文件,浏览器会报告文件中的编码错误,并且无法呈现它。
问题是他们失败的行并没有真正包含任何不寻常的东西,只是我能看到的标准 ASCII 字符。
谁能解释为什么会发生这种情况?我明天要演示代码,现在我很恐慌,为什么它突然做这种奇怪的事情......
任何意见将不胜感激。
谢谢
托尼
【问题讨论】:
-
您是否对每种方式生成的文件进行了比较?
标签: java xml encoding iso-8859-1