[英]STAX XMLStreamWriter doesn't write with small files
我有一個使用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();
你知道嗎?
writer.close();
;)典型的行為。
我今天也遇到過這個,但是writer.flush()
沒有用,只有writer.close()
o_o
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.