我的应用是通过SMTP服务器接收电子邮件.电子邮件和电子邮件附件中有一个或多个附件返回byte [](使用sun javamail api).
我试图动态压缩附件文件而不先将它们写入磁盘.
有什么/可能的方法来实现这一结果?
您可以使用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(); }