从String解码Base64InputStream并使用Java中的GZIPInputStream解压缩它

时间:2016-03-03 15:41:06

标签: java base64 unzip

我正在尝试创建简单的应用程序来解码字符串中的压缩数据。在一个textarea用户将按下按钮后粘贴压缩数据,数据将被解码并显示在另一个textarea中。

如果我使用文件,它可以完美运行:

zis = new GZIPInputStream(new Base64InputStream(new FileInputStream(inZippedFile)));

其中inZippedFile是文件。然后将结果保存到outputFile。

但是,如果我想在InputStream中使用字符串,它将永远不会完成。

String input = "..."
InputStream in = IOUtils.toInputStream(input, "UTF-8");
zis = new GZIPInputStream(new Base64InputStream(in));

对于IOUtils我使用的是常见的apache 2.4 jar。我做错了什么? 感谢

1 个答案:

答案 0 :(得分:1)

解码和解压缩字符串数据工作正常,将数据解析为corect形式时出错。这导致了长期。 所以这是有效的,不需要设置UTF-8:

new GZIPInputStream(new Base64InputStream(IOUtils.toInputStream(input)));