尤其是java调用进行压缩的是更少了。
一下是自己完成的一个压缩。
本人进行了测试是成功的。
将压缩的流写如磁盘一个压缩文件中。
然后使用7z的压缩软件进行打开解压。
不多说,调用7z源码进行压缩的方法如下。
public byte[] lzmaZip(String xml) throws IOException{ BufferedInputStream inStream = new BufferedInputStream(new ByteArrayInputStream(xml.getBytes())); ByteArrayOutputStream bos = new ByteArrayOutputStream(); boolean eos = true; Encoder encoder = new Encoder(); encoder.SetEndMarkerMode(eos); encoder.WriteCoderProperties(bos); long fileSize = xml.length(); if (eos) fileSize = -1; for (int i = 0; i < 8; i++) bos.write((int)(fileSize >>> (8 * i)) & 0xFF); encoder.Code(inStream, bos, -1, -1, null); return bos.toByteArray() ; }
相关资料在附件内。