如何在android中用gzip压缩大字符串

如何在android中用gzip压缩大字符串,android,gzipstream,Android,Gzipstream,我尝试在android中压缩大字符串,如下所示: 试一试{ String str=我的大字符串; ByteArrayOutputStream rstBao=新的BYTEARRAYOUTPUTSTREAMS STR.length; GZIPOutputStream zos=新的GZIPOutputStreamrstBao; zos.writestr.getBytes; IOUtils.closeQuietlyzos; byte[]bytes=rstBao.toByteArray; String c

我尝试在android中压缩大字符串,如下所示:

试一试{ String str=我的大字符串; ByteArrayOutputStream rstBao=新的BYTEARRAYOUTPUTSTREAMS STR.length; GZIPOutputStream zos=新的GZIPOutputStreamrstBao; zos.writestr.getBytes; IOUtils.closeQuietlyzos; byte[]bytes=rstBao.toByteArray; String compressedString=Base64.encodeToStringbytes,true; 对数压缩,压缩环; }捕捉异常{ //TODO自动生成的捕捉块 e、 打印跟踪; } 但此代码返回outofmemory错误:

outofmemory返回Base64.encodeToString字节,true;线

试试这个:

公共静态字符串压缩程序StringString str引发IOException{ 如果str==null | | str.length==0{ 返回str; } BufferedWriter=null; 试一试{ File File=新文件your.gzip GZIPOutputStream zip=new GZIPOutputStreamnew FileOutputStreamfile; writer=new BufferedWriternew OutputStreamWriterzip,UTF-8; writer.appendstr; }最后{ 如果writer!=null{ writer.close; } } }
你是用我的大字符串还是真的用大字符串试过了?我看不出这个问题是怎么重复的,我试过了,但解决不了我的问题