【问题标题】:XMLEventWriter not writing to output streamXMLEventWriter 不写入输出流
【发布时间】:2014-07-07 18:49:13
【问题描述】:

我是 stackoverflow 的新手,所以希望我能正确格式化这个问题!我已经通过网站(和谷歌)搜索了我的问题的答案,但无法找到为什么这对我不起作用的原因。

我正在尝试从 XMLEventReader 读取事件并将其写入 XMLEventWriter(够简单吧?)它不会将任何事件输出到文件,甚至不会输出到 System.out。任何提示都会很棒 =)

public void parse(InputStream is) throws XMLStreamException, Exception {
    XMLEventReader reader = null;
    try {

        XMLInputFactory inputFact = XMLInputFactory.newInstance();
        XMLStreamReader streamReader = inputFact.createXMLStreamReader(is);
        reader = inputFact.createXMLEventReader(streamReader);
        XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
        XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(new
        FileOutputStream("C:\\temp\\results\\exceltestresults.xml"));
        //or System.out
        while (reader.hasNext()) {
        XMLEvent event = reader.nextEvent();
        eventWriter.add(event);
        }
        ...........

当我通过代码进行调试时,我可以看到在 While{} 循环中读取的每个事件。

【问题讨论】:

    标签: java xml stax


    【解决方案1】:

    你错过了eventWriter.close();

        while (reader.hasNext()) {
          XMLEvent event = reader.nextEvent();
          eventWriter.add(event);
        }
        eventWriter.close();
    

    最好在 finally 块中关闭这些资源(readerstreamReadereventWriter)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-02
      • 2018-05-25
      • 2013-04-03
      • 2013-12-14
      • 2012-04-02
      • 2010-10-30
      • 2012-09-24
      • 1970-01-01
      相关资源
      最近更新 更多