有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java STAX XMLStreamWriter不使用小文件进行编写

我有一个使用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();

这段代码不起作用(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();

你知道吗


共 (2) 个答案

  1. # 1 楼答案

    我今天也遇到了这个问题,但是writer.flush()没有起作用,只有writer.close()o_o

  2. # 2 楼答案

    writer.close();
    

    )()典型的行为