こんにちは、文字列の圧縮と解凍に GZIP を使用しています。
いくつかの例外を取得 ! 私を助けてください !
protected byte[] CompressInputString(String input_string2)
throws IOException {
ByteArrayOutputStream os = new ByteArrayOutputStream(
input_string2.length());
System.out.println("Byte Array OS : " + os);
GZIPOutputStream gos = new GZIPOutputStream(os);
System.out.println("GZIPOutputStream : " + gos);
gos.write(input_string2.getBytes());
System.out.println("GZIPOutputStream get bytes: "
+ input_string2.getBytes());
gos.close();
byte[] compressed = os.toByteArray();
os.close();
System.out.println("Compressed : " + compressed);
return compressed;
}
protected String DecompressInputString(byte[] input_to_decode_from_function)
throws IOException {
final int BUFFER_SIZE = 32;
ByteArrayInputStream is = new ByteArrayInputStream(input_to_decode_from_function);
GZIPInputStream gis = new GZIPInputStream(is, BUFFER_SIZE);
StringBuilder string = new StringBuilder();
byte[] data = new byte[BUFFER_SIZE];
int bytesRead;
while ((bytesRead = gis.read(data)) != -1) {
string.append(new String(data, 0, bytesRead));
}
gis.close();
is.close();
return string.toString();
}
私の入力は次のとおりです。abcdefghijklmnop
出力は
GZIPOutputStream : java.util.zip.GZIPOutputStream@f38798
GZIPOutputStream get bytes: [B@4b222f
Compressed : [B@b169f8
Compressed File : [B@b169f8
解凍するには、どのような入力をすればよいですか?
文字列入力として入力し、 input.getBytes [B@b169f8
() を使用してバイト配列に変換し、解凍関数に渡すと、例外が発生します