日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

.NET和Android解压缩处理

發布時間:2024/1/17 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET和Android解压缩处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.C#代碼(需要調用SharpZipLib): using System.IO; using System.Text;using ICSharpCode.SharpZipLib.Zip.Compression.Streams;namespace ConsoleApplicationDemo {public class ZipHelper{/// <summary>/// 以Deflater方式壓縮字符串,返回字節數組/// </summary>/// <param name="sString"></param>/// <returns></returns>public static byte[] ZipStr(string sString){if (sString == null) return null;byte[] bytes = Encoding.UTF8.GetBytes(sString);return ZipByte(bytes);}/// <summary>/// 以Deflater方式壓縮字節數組/// </summary>/// <param name="bytes"></param>/// <returns></returns>public static byte[] ZipByte(byte[] bytes){if (bytes == null){return null;}MemoryStream ms = new MemoryStream();using (DeflaterOutputStream zStream = new DeflaterOutputStream(ms)){zStream.Write(bytes, 0, bytes.Length);zStream.Finish();zStream.Close();}byte[] result = ms.ToArray();ms.Close();return result;}/// <summary>/// 解壓字節數組/// </summary>/// <param name="bytes"></param>/// <returns></returns>public static byte[] UnZip(byte[] bytes){if (bytes == null){return null;}MemoryStream ms = new MemoryStream();using (InflaterInputStream stream = new InflaterInputStream(ms)){stream.Write(bytes, 0, bytes.Length);stream.Flush();stream.Close();}byte[] result = ms.ToArray();ms.Close();return result;}} } 2.Android代碼: package com.google.test;import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.zip.*;public class ZipHelper {private final static int CacheSize = 1024;/**** 壓縮Zip* * @param data* @return*/public static byte[] zipByte(byte[] data) {Deflater compresser = new Deflater();compresser.reset();compresser.setInput(data);compresser.finish();byte result[] = new byte[0];ByteArrayOutputStream o = new ByteArrayOutputStream(1);try {byte[] buf = new byte[CacheSize];int got = 0;while (!compresser.finished()) {got = compresser.deflate(buf);o.write(buf, 0, got);}result = o.toByteArray();} catch (Exception e) {e.printStackTrace();} finally {try {o.close();} catch (IOException e) {e.printStackTrace();}compresser.end();}return result;}/**** 壓縮String* * @param data* @return*/public static byte[] zipString(String data) {byte[] input = new byte[0];try {input = data.getBytes("UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();return null;}byte[] result = ZipHelper.zipByte(input);return result;}/**** 解壓Zip* * @param data* @return*/public static byte[] unZipByte(byte[] data) {Inflater decompresser = new Inflater();decompresser.setInput(data);byte result[] = new byte[0];ByteArrayOutputStream o = new ByteArrayOutputStream(1);try {byte[] buf = new byte[CacheSize];int got = 0;while (!decompresser.finished()) {got = decompresser.inflate(buf);o.write(buf, 0, got);}result = o.toByteArray();} catch (Exception e) {e.printStackTrace();} finally {try {o.close();} catch (IOException e) {e.printStackTrace();}decompresser.end();}return result;}/**** 解壓Zip數據為String* * @param data* @return*/public static String unZipByteToString(byte[] data) {byte[] result = unZipByte(data);String outputString = null;try {outputString = new String(result, 0, result.length, "UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}return outputString;} }

轉載于:https://www.cnblogs.com/ahui/archive/2011/04/21/2023847.html

總結

以上是生活随笔為你收集整理的.NET和Android解压缩处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。