数据解压缩案例

2019-03-07  本文已影响0人  bullion

TestCompress

public class TestCompress {

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

        // 解压缩

        decompress("e:/hello.txt.bz2");

    }

    private static void decompress(String fileName) throws Exception {

        // 1 压缩方式检查

        CompressionCodecFactory factory = new CompressionCodecFactory(new Configuration());

        CompressionCodec codec = factory.getCodec(new Path(fileName));

        if (codec == null) {

            System.out.println("can not process");

            return;

        }

        // 2 获取输入流

        FileInputStream fis = new FileInputStream(new File(fileName));

        CompressionInputStream cis = codec.createInputStream(fis);

        // 3 获取输出流

        FileOutputStream fos = new FileOutputStream(new File(fileName + ".decode"));

        // 4 流的对拷

        IOUtils.copyBytes(cis, fos, 1024 * 1024, false);

        // 5 关闭资源

        IOUtils.closeStream(fos);

        IOUtils.closeStream(cis);

        IOUtils.closeStream(fis);

    }

}

上一篇 下一篇

猜你喜欢

热点阅读