GZIPOutputStream setLevel在棉花糖上不起作用

时间:2019-07-22 06:16:24

标签: java android gzip

GZIPOutputStream setLevel dosn在Android OS 6.0上不起作用。

我从以下网址问题中提高了数据压缩率。

GZIPOutputStream: Increase compression level

但不能在Android操作系统上使用。

它可能仅适用于Java vm。

有人知道如何提高Andorid操作系统上的数据压缩率吗?

private static boolean archive(GZIPOutputStream outZip, File targetFile, String entryName, int number) {
    try {

        MyGZIPOutputStream os = new MyGZIPOutputStream(outZip);
        os.setLevel(number);


        BufferedInputStream in = new BufferedInputStream(new FileInputStream(targetFile));

        int readSize = 0;
        byte buffer[] = new byte[1024]; 
        while ((readSize = in.read(buffer, 0, buffer.length)) != -1) {
            os.write(buffer, 0, readSize);
        }
    } catch (Exception e) {
        return false;
    }
    return true;
}

private static class MyGZIPOutputStream extends GZIPOutputStream {
    public MyGZIPOutputStream(OutputStream out) throws IOException {
        super(out);
    }

    public void setLevel(int level) {
        def.setLevel(level);
    }
}

0 个答案:

没有答案