首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将XML压缩为GZIPOutputStream

将XML压缩为GZIPOutputStream
EN

Stack Overflow用户
提问于 2015-10-02 03:16:19
回答 1查看 548关注 0票数 1

我正在尝试使用XML创建一些StaX,将其保存在FileOutputStream中,并将该流放入GZIPOutPutStream中。

很明显,我做错了什么,因为下面的代码输出了一个损坏的文件: hellow.xml.gz。我可以打开zip文件并看到里面的xml文件。然而,在解压缩时,我得到一个错误,说文件被破坏了。

如果我输出到一个文本文件,而不是尝试用GZIPOutPutStream压缩文件,则代码只会在文件中工作。如何让xml正确地写入并压缩到gzip中?

代码语言:javascript
复制
public class Main {

    public static void main(String[] args) throws XMLStreamException, IOException {

        FileOutputStream outputStream = new FileOutputStream(new File("/home/user/hellow.xml.gz"));
        GZIPOutputStream outputStreamZip = new GZIPOutputStream(outputStream);
        XMLOutputFactory factory = XMLOutputFactory.newInstance();

        XMLStreamWriter writer = factory.createXMLStreamWriter(outputStreamZip, "UTF-8");

        writer.writeStartElement("WOOOOOOOOOOOOOOOOOOOOOOOOOOOOT");
        writer.writeStartElement("Lookup_Value_Record");
        writer.writeCharacters("Hello World");

        writer.writeEndElement();
        writer.writeEndElement();
        writer.writeEndDocument();

        writer.flush();
        writer.close();

    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-10-02 21:57:28

答案非常非常简单。我只需要关闭Gzip输出流。

代码语言:javascript
复制
outputStreamZip.close();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32895180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档