使用JDOM的SAXBuilder build
方法读取InputStream时出现异常:
InputStream bais = p_sendXML.getXml().getInputStream();
File myFile = new File(System.getProperty("java.io.tmpdir"), PREFIX+p_sendXML.getSessionId()+".xml");
IOUtils.copy(bais, new FileOutputStream(myFile));
LOGGER.debug("File save in: "+myFile.getAbsolutePath());
SAXBuilder builder = new SAXBuilder();
Document xmlDoc = builder.build(bais);
文件已正确创建且XML内部有效,因此我不应该得到此异常。如果您想知道,XML文件末尾有一个新行。
答案 0 :(得分:4)
你已经筋疲力尽'你做bais
时的IOUtils.copy(bais, new FileOutputStream(myFile));
。您已将bais
的内容复制到该文件中,现在bais
已空了'。您需要:
bais
的副本XMLOutputter
)bais
)。