创建最大为4GB /文件的gz压缩文件

时间:2019-08-27 11:52:14

标签: java gzipoutputstream

我有一个巨大的json文件(NEW_LINE_TERMINATED_JSON),需要将其压缩为gz文件。目前,我正在使用GZIPOutputStream进行此操作。但是现在我希望输出文件的最大大小为4GB,否则创建一个新的独立gz文件。例如

0001.gz-4GB

0002.gz-4GB

0003.gz-2GB

问题是我不知道压缩时未压缩的数据有多大。也许我可以估计一条未压缩行的大小,但是由于文件不允许大于4GB,因此我的估计需要非常保守。

我还考虑过压缩文件,如果大于4GB,则将未压缩的行分成两半,然后再次压缩,依此类推。但这似乎效率很低。

我只能在行结束后拆分。什么是处理此问题的好方法?

0 个答案:

没有答案