I'm using this code to generate contents file.
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());
}
But on second iteration I have an exception
ERROR: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Read error
Cann't understand what开发者_如何学运维 is the reason?
Thank a lot for assistance. Th error was in not properly closed Source resource. Was:
Source xmlSource = new StreamSource(new FileInputStream(path+Constants.MANIFEST_FILE_NAME));
Fixed:
Source xmlSource = new StreamSource(path+Constants.MANIFEST_FILE_NAME);
精彩评论