STAX XMLStreamWriter 不写小文件

Bas*_*aby 1 java xml stax

我有一个使用STAX的小程序,它将 XML 文件的内容复制到另一个文件。顺便说一下,我发现了XMLStreamWriter 的一个神秘问题。

当我尝试写很多元素时,写作是有效的。但是当我尝试编写几个元素时,它不起作用(文件为空)。

例如,此代码有效(3000 个元素):

    XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
    XMLStreamWriter writer = outputFactory.createXMLStreamWriter(new FileOutputStream("toto.xml"));

    writer.writeStartDocument();
    for(int i = 0; i < 3000; ++i) {
        writer.writeStartElement("toto");
        writer.writeEndElement();
    }
    writer.writeEndDocument();
Run Code Online (Sandbox Code Playgroud)

并且此代码不起作用(50 个元素):

    XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
    XMLStreamWriter writer = outputFactory.createXMLStreamWriter(new FileOutputStream("toto.xml"));

    writer.writeStartDocument();
    for(int i = 0; i < 50; ++i) {
        writer.writeStartElement("toto");
        writer.writeEndElement();
    }
    writer.writeEndDocument();
Run Code Online (Sandbox Code Playgroud)

你有什么想法吗?

Joo*_*gen 5

writer.close();
Run Code Online (Sandbox Code Playgroud)

;) 典型的行为。