java音频压缩_如何在Java中使用xz压缩时获得统一压缩?

在Java中使用xz库进行文件压缩时遇到问题,文本压缩率高达70%,但音频和视频文件压缩率仅为0.1%。代码示例展示了如何使用Apache Commons库进行xz压缩,但寻求实现所有类型文件的统一压缩效果。
摘要由CSDN通过智能技术生成

我想在Java中使用xz压缩。使用xz 1.5压缩库,commons io 2.4库和commons压缩1.8.1库。我试图运行下面的代码给我非常不一致的结果。文本超过70%,音频和视频文件低于0.1%(1-compressed/original * 100)。我在每次压缩之前使用tarball。这应该只适用于文本文件?如何在Java中使用xz压缩时获得统一压缩?

package makexz;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import org.apache.commons.compress.compressors.CompressorOutputStream;

import org.apache.commons.compress.compressors.CompressorStreamFactory;

import org.apache.commons.compress.compressors.xz.XZCompressorOutputStream;

import org.apache.commons.compress.utils.IOUtils;

public class MakeXZ {

public static void main(String[] args) throws FileNotFoundException, IOException, Exception {

FileOutputStream dest = new FileOutputStream("C://TARDUMP//XZ//newvid.tar.xz");

CompressorOutputStream cos = new CompressorStreamFactory().createCompressorOutputStream(CompressorStreamFactory.XZ, dest);

String input = "C://TARDUMP//newvid.tar";

IOUtils.copy(new FileInputStream(input), cos);

cos.close();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值