如何在java中用最少的RAM压缩.tar.gz中的文件夹?

如何在java中用最少的RAM压缩.tar.gz中的文件夹?,java,directory,zip,tar,ram,Java,Directory,Zip,Tar,Ram,我需要压缩.tar.gz文件中的文件夹。为此,我使用了Java中的ApacheCommons库。但现在我的文件夹越来越大,每次我试图压缩它们时,都会占用大量内存(超过4Gb) 我在一个带有Debian10和8GB内存的虚拟主机上运行它 我在用这个 我试着在终端中使用tar命令做同样的事情,但它和java程序一样贪婪 所以我在寻找更好的解决方案。 我还尝试用java.util包压缩文件夹,但没有成功 提前感谢我想我没有足够的内存(只有50Gb)来设置正确的交换空间编辑您的问题并将您的代码直接作为文

我需要压缩.tar.gz文件中的文件夹。为此,我使用了Java中的ApacheCommons库。但现在我的文件夹越来越大,每次我试图压缩它们时,都会占用大量内存(超过4Gb)

我在一个带有Debian10和8GB内存的虚拟主机上运行它

我在用这个

我试着在终端中使用tar命令做同样的事情,但它和java程序一样贪婪

所以我在寻找更好的解决方案。 我还尝试用java.util包压缩文件夹,但没有成功


提前感谢

我想我没有足够的内存(只有50Gb)来设置正确的交换空间编辑您的问题并将您的代码直接作为文本包含在问题中。到另一个网站的链接最终会过时,这会使你的问题对未来的读者毫无用处。(我的猜测是,您正在将文件完全读取到内存中,而不是一次读取一个字节或几个字节,或者使用。)我认为我没有足够的内存(只有50Gb)来拥有正确的交换空间编辑您的问题,并将您的代码直接作为文本包含在问题中。到另一个网站的链接最终会过时,这会使你的问题对未来的读者毫无用处。(我的猜测是,您将文件完全读取到内存中,而不是一次读取一个字节或几个字节,或者使用。)