当前位置:  开发笔记 > 编程语言 > 正文

在Java中:如何从byte []数组中压缩文件?

如何解决《在Java中:如何从byte[]数组中压缩文件?》经验,为你挑选了1个好方法。

我的应用是通过SMTP服务器接收电子邮件.电子邮件和电子邮件附件中有一个或多个附件返回byte [](使用sun javamail api).

我试图动态压缩附件文件而不先将它们写入磁盘.

有什么/可能的方法来实现这一结果?



1> Dave L...:

您可以使用Java的java.util.zip.ZipOutputStream在内存中创建一个zip文件.例如:

public static byte[] zipBytes(String filename, byte[] input) throws IOException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ZipOutputStream zos = new ZipOutputStream(baos);
    ZipEntry entry = new ZipEntry(filename);
    entry.setSize(input.length);
    zos.putNextEntry(entry);
    zos.write(input);
    zos.closeEntry();
    zos.close();
    return baos.toByteArray();
}


先生,救了我的一天!
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有