我有一个压缩和解压缩字节数组的类;
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
}
}
}
我该如何解压输入并返回一个字节数组?
注意:由于字符编码问题,我不想进行任何字符串转换。
gzipper.read(buffer)
保证不会这样。缓冲区数组被填充,然后循环继续,并覆盖先前的内容,从数组的开头开始。 - OneCricketeer