【发布时间】:2026-02-09 18:55:01
【问题描述】:
我有一个文件夹,其中包含在 linux 上创建的文件,我目前使用 gzip 进行 tar 和压缩(即 tar.gz)
然后在稍后阶段,该文件被复制到另一台 linux 机器的一个文件系统中,并使用 Java 提取到另一个文件系统中。
我的问题是压缩包为 3GB,未压缩为 5GB。两个文件系统分别是 4GB 和 6GB 我将压缩存档复制到 4GB fs,但是当我尝试将其解压缩到 6GB 时,它在未压缩时被复制到 6GB fs,因此 6GB 需要足够的空间用于压缩和它没有的未压缩格式。
我不清楚它为什么要创建这个临时文件,如果我这样做的话
cd destination folder
tar -zxvf source file
它可以在没有空间用完的情况下工作,但我需要使用纯 Java 而不是命令行来解压缩它
有没有更好的方法来压缩文件夹,因为我不受任何特定格式的限制,只要它可以用 Java 代码解压缩。我无法修改/重新配置两个文件系统的大小 - 它需要在这些边界内工作。
【问题讨论】:
-
在传输数据时开始解压缩?我说以 300mb 的压缩数据块发送它并一次解压缩一个,你会很好地保持在两边的 1gb 余量内
-
@ug_ 更多细节请我如何分解成可以独立解压缩的块?
标签: java compression gzip tar