使用GzipInputStream解压缩为byte []

约书亚·基斯顿

我有一个压缩和解压缩字节数组的类;

public class Compressor
{
    public static byte[] compress(final byte[] input) throws IOException
    {
        try (ByteArrayOutputStream bout = new ByteArrayOutputStream();
                GZIPOutputStream gzipper = new GZIPOutputStream(bout))
        {
            gzipper.write(input, 0, input.length);
            gzipper.close();

            return bout.toByteArray();
        }
    }

    public static byte[] decompress(final byte[] input) throws IOException
    {
        try (ByteArrayInputStream bin = new ByteArrayInputStream(input);
                GZIPInputStream gzipper = new GZIPInputStream(bin))
        {
            // Not sure where to go here
        }
    }
}

如何解压缩输入并返回字节数组?

注意:由于字符编码问题,我不想对字符串进行任何转换。

狮子座

您缺少的代码将类似于

byte[] buffer = new byte[1024];
ByteArrayOutputStream out = new ByteArrayOutputStream();

int len;
while ((len = gzipper.read(buffer)) > 0) {
    out.write(buffer, 0, len);
}

gzipper.close();
out.close();
return out.toByteArray();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用GZIPInputStream解压缩REST响应

来自分类Dev

python元组:使用* args解压缩为列表

来自分类Dev

使用 jq 解压/解压缩 JSON

来自分类Dev

GZIPInputStream:从解压缩的文件中读取前n个字节

来自分类Dev

使用python解压缩大文件

来自分类Dev

使用DeflateStream解压缩字节

来自分类Dev

使用Swift解压缩zip文件

来自分类Dev

使用Lambda解压缩变量

来自分类Dev

使用python解压缩大文件

来自分类Dev

使用通配符解压缩特定文件

来自分类Dev

无法使用gunzip解压缩.tgz

来自分类Dev

使用VBS解压缩时出错

来自分类Dev

使用OCaml递归并解压缩

来自分类Dev

使用bash解压缩bzip文件

来自分类Dev

使用 VSTS 构建解压缩

来自分类Dev

如何使用Automapper将父对象解压缩为子对象?

来自分类Dev

使用boost将多个文件解压缩为一个文件

来自分类Dev

如何使用SQL将摘要表解压缩为单独的记录?

来自分类Dev

使用 SevenZipSharp 将流解压缩为字符串

来自分类Dev

NAS压缩/解压缩

来自分类Dev

使用python压缩文件。Windows无法解压缩

来自分类Dev

使用 DirectMessageListenerContainer 压缩和解压缩 Spring RabbitMQ 消息

来自分类Dev

创建元类以将结构解压缩为namedtuple

来自分类Dev

将QStringList打包为QString并解压缩

来自分类Dev

如何将数组解压缩为变量

来自分类Dev

将值解压缩为python中的多个变量

来自分类Dev

熊猫:将日期范围解压缩为单个日期

来自分类Dev

将对象集合解压缩为其属性的数组

来自分类Dev

方案-将列表的元素解压缩为函数