`
yidongkaifa
  • 浏览: 4067801 次
文章分类
社区版块
存档分类
最新评论

Android解压以Zip格式压缩的byte[]成String 源码

 
阅读更多
/***
	 * 
	 * 解压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;
	}

	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[1024];
			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;
	}

分享到:
评论

相关推荐

    Java Zip算法压缩多个文件的例子.rar

    Java Zip算法压缩多个文件的例子,具体的实现原理是:先打开文件并读取,然后利用ZipEntry实例化待压缩的条目列表,将ZIP条目列表写入输出流,从源文件得到文件输入流,写入缓冲数据等。相关代码:  ...

    java压缩文件源码--ZipUtils

    public static void zip(String sourceFilePath){ File fileDir = new File(sourceFilePath); if(fileDir.exists()){ log(fileDir.getPath()+" Starting Zip ..."); long startTime = System....

    Java压缩带有中文名的文件.rar

    Java压缩中文名的文件,大家都知道Java处理英文名的文件很强大,但是处理起中文名那可是比较麻烦了,需要经过很多步骤,这个例子可以告诉你如何简易的处理中文文件名的文件,以压缩中文文件名的文件为例。...

    基于PCF8591芯片AD DA实验例程C51单片机KEIL源码工程文件5个合集.zip

    基于PCF8591芯片AD DA实验例程C51单片机KEIL源码工程文件5个合集: PCF8591 1602液晶显示 PCF8591 1路AD数码管显示 PCF8591 4路AD数码管显示 PCF8591 DA输出模拟 PCF8591 输出锯齿波 main() { unsigned char num=0...

    des_aes.zip

    java和c ,c++的des, aes加密结果一致源码。从openssl提取了c代码,无任何依赖。使用方法:在java代码DESUtil.java中设置你想要的key字符串变量:String keyString = "bbbbbbbb";,运行代码,查看打印的byte类型的...

    java源码剖析-JavaSourceLearn:JDK1.8源码的代码分析和学习

    源码在%JAVA_HOME%\src.zip 源码在src目录下 以下两个类手动添加的,解决编译过程中该包的丢失 sun.font.FontConfigManager sun.awt.UNIXToolkit 其中: 1.请手动添加jdk下面的lib到path中 2.lib文件夹下面的junit...

    8583报文解析框架Simple8583.zip

    5)使用ByteArrayOutputStream将组装成的IsoPackage域值进行拼装成为一个大的byte数组,在byte前拼装两个字节的长度 6)通过Socket将数据发送并接受响应(读取前两个字节长度,根据长度获取其剩余报文),根据...

    FTP源代码例子

    byte[] bytes = new byte[1024]; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } } finally { if (is != null) { is.close(); } if (os != null) { os.close(); } } return ...

    计算机网络实验报告 获取MAC socket通信

    // 转换成网络输出流 java.net.ServerSocket ss = new java.net.ServerSocket(9000); java.net.Socket sk = ss.accept(); //DataOutputStream 处理数据 数据的输出流 java.io.OutputStream os = new java.io...

    C#网页版+客户端版聊天软件

    C#网页版+客户端版聊天软件源码分享(C#+长连接+Sqllite数据库实现) 今天我给大家分享一个聊天程序的源码。 网页版加客户端版并存,可以互通 我相信对大家学习和扩展这一块知识是很有用的。 我们先来看下软件...

    VclZip pro v3.10.1

    VCLZip Native Delphi Zip/UnZip Component! (VCLZip Lite: Version 2.23 April 14th, 2002) (VCLZip Pro: Version 3.10 Buid 1 - November 25th, 2007) IMPORTANT: If installing the registered version, ...

    SQLMemTable for Delphi / C++ Builder

    Also, if you are replacing an existing version of SQLMemTable, please remove all files and the package of the prior version before running the new setup program.2) Unpack zip archive containing ...

Global site tag (gtag.js) - Google Analytics