我正在使用此代码生成内容文件。
try {
StreamResult result = new StreamResult();
TransformerFactory tf = TransformerFactory.newInstance();
Templates templ = tf.newTemplates(xsltSource);
Transformer transf = templ.newTransformer();
for (String item: groups){
item = item.replaceAll(" ", "-").toLowerCase();
result.setOutputStream(new FileOutputStream(path+item+".html"));
transf.clearParameters();
transf.setParameter("group", item);
transf.transform(xmlSource, result);
}
} catch (TransformerConfigurationException e) {
throw new SinkException(e.getMessage());
} catch (TransformerException e) {
throw new SinkException(e.getMessage());
}
但是在第二次迭代中我有一个例外
ERROR: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Read error
不明白是什么原因?
答案 0 :(得分:1)
非常感谢您的帮助。错误是未正确关闭源资源。 是:
Source xmlSource = new StreamSource(new FileInputStream(path+Constants.MANIFEST_FILE_NAME));
修正:
Source xmlSource = new StreamSource(path+Constants.MANIFEST_FILE_NAME);