javagzipツールクラス

インポートjava.io.ByteArrayInputStream;
インポートjava.io.ByteArrayOutputStream;
インポートjava.io.IOException;
インポートjava.util.zip.GZIPInputStream;
インポートjava.util.zip.GZIPOutputStream;

public class GZIPUtils {     public static final String GZIP_ENCODE_UTF_8 = "UTF-8";      public static final String GZIP_ENCODE_ISO_8859_1 = "ISO-8859-1";

    
    public static byte [] compress(String str、String encoding){         if(str == null || str.length()== 0){             return null;         }         ByteArrayOutputStream out = new ByteArrayOutputStream();         GZIPOutputStream gzip;         {             gzip = new GZIPOutputStream(out);を試してください             gzip.write(str.getBytes(encoding));             gzip.close();         } catch(Exception e){             e.printStackTrace();         }         return out.toByteArray();     }     public static byte [] compress(String str)throws IOException {           return compress(str、GZIP_ENCODE_UTF_8);  














    


    }
    
    public static byte [] uncompress(byte [] bytes){         if(bytes == null || bytes.length == 0){             return null;         }         ByteArrayOutputStream out = new ByteArrayOutputStream();         ByteArrayInputStream in = new ByteArrayInputStream(bytes);         {             GZIPInputStream ungzip = new GZIPInputStream(in);を試してください             バイト[]バッファ=新しいバイト[256];             int n;             while((n = ungzip.read(buffer))> = 0){                 out.write(buffer、0、n);             }         } catch(Exception e){             e.printStackTrace();         }















        out.toByteArray();を返します。
    }
    
    public static String uncompressToString(byte [] bytes、String encoding){  
        if(bytes == null || bytes.length == 0){  
            return null;  
        }  
        ByteArrayOutputStream out = new ByteArrayOutputStream();  
        ByteArrayInputStream in = new ByteArrayInputStream(bytes);  
        {             GZIPInputStream ungzip = new GZIPInputStream(in);を試してください 。               バイト[]バッファ=新しいバイト[256];               int n;               while((n = ungzip.read(buffer))> = 0){                   out.write(buffer、0、n);               }               return out.toString(encoding);







        } catch(Exception e){             e.printStackTrace();         }         nullを返します。     }     public static String uncompressToString(byte [] bytes){           return uncompressToString(bytes、GZIP_ENCODE_UTF_8);       }      public static void main(String [] args)throws IOException {         String s = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";         System.out.println( "字文字列長度:" + s.length());         System.out.println( "圧缩后::" + compress(s).length);         System.out.println( "解圧后:" + uncompress(compress(s))。length);         System.out.println( "解圧文字列串后::" + uncompressToString(compress(s))。length());




    



    








 

おすすめ

転載: blog.csdn.net/u010689853/article/details/112787551