内存中的XML文件,而不是磁盘上的文件

时间:2013-04-12 12:33:29

标签: java xml file download wicket

我想创建一个XML文件,它将作为下载链接提供给用户(Wicket和TransformerFactory for XSLT)。 目前,我使用File类。但是,我不想在服务器上创建文件。该文件应仅存在于内存中。有人能告诉我如何实现这一目标吗? 谢谢!

我目前的代码:

Reader reader = new StringReader("DATA");
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new StreamSource("EXCEL.xsl"));
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
File file= new File("FILE.xml");                
transformer.transform(new StreamSource(reader), new StreamResult(new FileOutputStream(file)));

其他课程:

File file = new File("file");
add(new DownloadLink("download", file, "XML.xml"));

1 个答案:

答案 0 :(得分:1)

你可以从这开始(不确定这是否完全正确 - 现在无法检查)

ByteArrayOutputStream oStream = new ByteArrayOutputStream();
transformer.transform(new StreamSource(reader), new StreamResult(oStream))
byte[] xmlResult = oStream.toByteArray();