您可以使用适用于 Java 的 AWS 开发工具包 V2 执行此操作。高级步骤包括:
> < li>
通过调用s3.listObjects()获取S3桶中的所有对象。
对于每个对象,通过调用 s3.getObjectAsBytes()来获取byte[]。
将每个字节[]放入映射中。
您可以使用 Java 逻辑从 MAP 创建 ZIP
通过调用S3.PutObject将ZIP放入S3存储桶。
要创建ZIP,请使用 Java 逻辑,例如:
// Pass a map and get back a byte[] that represents a ZIP of all images.
public byte[] listBytesToZip(Map<String, byte[]> mapReporte) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
for (Map.Entry<String, byte[]> reporte : mapReporte.entrySet()) {
ZipEntry entry = new ZipEntry(reporte.getKey());
entry.setSize(reporte.getValue().length);
zos.putNextEntry(entry);
zos.write(reporte.getValue());
}
zos.closeEntry();
zos.close();
return baos.toByteArray();
}
问题内容: 我需要使用Node.js压缩整个目录。我目前正在使用node- zip,每次运行该进程时,它都会生成一个无效的ZIP文件(如您从此Github问题中所见)。 还有另一个更好的Node.js选项,它可以让我压缩目录吗? 编辑:我最终使用存档器 参数的样本值: 更新: 对于那些询问我使用的实现的人,这是我的下载器的链接: 问题答案: 我最终使用了存档器库。效果很好。 例
问题内容: 我知道这是一项容易的任务,但是更改代码后它停止工作,并且无法恢复!我实际上使用了两个函数来进行压缩和解压缩,尽管实际上它是“ jar”和“ unjar”,但这并没有太大的区别 任何帮助/建议吗? 创建JarFile时发生错误: 问题答案: 我不知道这是否是您的问题,但是通常最好在完成写入后关闭每个zip条目。 请参阅。 在显示的代码中,不会关闭邮政编码中的最后一个条目。您也不会显示关闭
问题内容: 我在stackoveflow上找到了一些关于如何压缩特定文件的代码,但是特定文件夹又如何呢? 在中,有文件。压缩后,我还想删除文件夹的全部内容,除了。 我需要你的帮助。谢谢。 问题答案: 代码已于2015/04/22更新。 压缩整个文件夹: 压缩整个文件夹+删除除“ important.txt”以外的所有文件:
我有一个学校作业,要求我接受一个输入流,并使用apache commons压缩库将其压缩成一个字节数组,格式有5种(根据用户规范)。这5种格式是:ZIP、JAR、SEVENZ、BZIP2和gzip。我编写了以下方法以JAR格式压缩输入流,但得到了一个带有字符串“no current entry”的illegalStateException。
我得到无效的zip,当写入文件以下代码: 我将其写入文件的方式是: 我做错了什么?
问题内容: 我想使用Java代码将文件压缩为zip,rar和7z格式。我也想在指定位置解压缩这些文件。谁能告诉我如何在Java中使用7-zip压缩和解压缩文件? 问题答案: 我用过:sevenzipjbinding.jar sevenzipjbinding-Allplatforms.jar 我现在可以使用这些jar解压缩文件。 尝试使用此链接进行解压缩:http : //sourceforge.n
我在使用共享资源压缩库创建目录的tar.gz时遇到了一个问题。我有一个目录结构如下。 我正在使用以下代码进行压缩。它运行良好,无一例外。但是,当我尝试解压缩该 tar.gz时,我得到一个名为“子DirTo压缩”的文件。它的大小是正确的,因此文件在焦油过程中清楚地相互附加。所需的输出将是一个目录。我不知道我做错了什么。任何明智的共享资源压缩器都可以让我走上正确的道路吗?
主要内容:压实问题我们知道动态分区受到外部碎片的影响。 但是,这可能会导致一些严重的问题。 为了避免压缩,我们需要更改规则,该规则指出进程无法存储在内存中的不同位置。 也可以使用压缩来减少外部碎片的可能性。 在压缩过程中,所有的空闲分区都是连续的,所有加载的分区都集中在一起。 通过应用这种技术,可以将更大的进程存储在内存中。 合并可用分区,现在可以根据新进程的需要分配这些分区。 这种技术也称为碎片整理。 如上图所示