J'utilise GZIPOutputStream ou ZIPOutputStream pour compresser une Chaîne de caractères( ma chaîne.longueur() est à moins de 20), mais le compresser le résultat est plus longue que la chaîne d'origine.
sur certains site, j'ai trouvé des amis a dit que c'est parce que ma chaîne d'origine est trop court, GZIPOutputStream est seulement l'utiliser pour compresser longue chaîne.
donc, quelqu'un peut-il me donner une aide pour compresser une Chaîne de caractères? la fonction est comme:
String compress(String original) throws Exception {
}
Mise à jour:
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;
import java.util.zip.*;
public class zipUtil{
public static String compress(String str){
if (str == null || str.length() == 0) {
return str;
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(str.getBytes());
gzip.close();
return out.toString("ISO-8859-1");
}
public static void main(String[] args) throws IOException {
String string = "admin";
System.out.println("after compress:");
System.out.println(ZipUtil.compress(string));
}
}
le résultat est :