压缩图片数据,解压图片数据
public class TestZCompress {
public static void main(String[] args) {
try {
File file = new File("D://haha.jpg");
if (file.exists()) {
InputStream in = new FileInputStream("D://haha.jpg");
byte[] buf = new byte[in.available()];
in.read(buf);
in.close();
String data = Base64.encode(ZipUtil.compress2(buf));
byte[] b = ZipUtil.decompress2(Base64.decode(data));
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
String imgFilePath = "D://xixi.jpg";// 新生成的图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.toString());
}
}
}
压缩字符串,解压字符串
String str = "http://xxxxxxxxxxxxxxxx";
String compressStr = Base64.encode(ZipUtil.compress(str));
System.out.println(compressStr);
String deCompressStr = ZipUtil.decompress(Base64.decode(compressStr));
System.out.println(deCompressStr);
-----------------------------------Base64--------------------------------------------
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Vector;
public class Base64 {
private static final char[] legalChars =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
.toCharArray();
@SuppressWarnings("unchecked")
private static Vector nodes = new Vector();
/**
* Split string into multiple strings
*
* @param original
* Original string
* @param separator
* Separator string in original string
* @return Splitted string array
*/
public static String[] split(String original, String separator) {
nodes.removeAllElements();
// Parse nodes into vector
int index = original.indexOf(separator);
while (index >= 0) {
nodes.addElement(original.substring(0, index));
original = original.substring(index + separator.length());
index = original.indexOf(separator);
}
// Get the last node
nodes.addElement(original);
// Create splitted string array
String[] result = new String[nodes.size()];
if (nodes.size() > 0)