Java如何把 zip byte array 转化成 zip文件

垂垂 发布于 2015/04/08 16:55
阅读 2K+
收藏 0

NGINX Sprint China 2022--NGINX年度旗舰盛会,已开启免费预约!>>>

发现通过这种方式转化出来的zipBytes,怎么都转化不成zip文件,不知道是不是这个zipBytes有问题,还是转化方法有问题?
public static byte[] convertBytesToZipBytes(byte[] data) { byte[] zipBytes = null;
    ByteArrayOutputStream bos = null;
    ZipOutputStream zip = null; try {
        bos = new ByteArrayOutputStream();
        zip = new ZipOutputStream(bos);
        ZipEntry entry = new ZipEntry("Q10152900H00002015010011.txt");
        entry.setSize(data.length);
        zip.putNextEntry(entry);
        zip.write(data);
        bos.flush();
        zip.flush();
        zipBytes = bos.toByteArray();
    } catch (Exception ex) {

    } finally { try {
            zip.closeEntry();
            zip.close();
            bos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    } return zipBytes;
}
加载中
0
垂垂
垂垂

问题找到了,是由于生成的zipBytes有问题,在调用zipBytes = bos.toByteArray();前要先把zip输出流关掉。但不知道为什么要这样???

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部