android自带zip轻松实现压缩解压

开发过程用到了zip压缩包,写了一个工具类,该类可以实现把字符串直接压缩成zip格式,省去了写入文件再压缩的步骤:

/**
 *
 * @author shx
 * 压缩和解压缩工具
 *
 */
public class ZipUtil {

	/**
	 * 压缩方法
	 * @param str 要压缩的字符串
	 * @param path	路径
	 * @throws IOException
	 */
	public static void compress(String str,String path) throws IOException {
		if (null == str || str.length() <= 0) {
			return;
		}

		FileOutputStream fileOutputStream = new FileOutputStream(path);
		GZIPOutputStream gzip = new GZIPOutputStream(fileOutputStream);
		gzip.write(str.getBytes("utf-8"));
		gzip.close( );
		fileOutputStream.close();

	}
	/**
	 * 解压缩
	 * @param context
	 * @param path
	 * @return
	 */
	public static String unCompress(Context context,String path) {
		try {
			File file = new File(path);
			if (!file.exists()) {
				return context.getResources().getString(R.string.FileNotExits);
			}

			ByteArrayOutputStream out = new ByteArrayOutputStream();
			// 创建一个新的输出流
			FileInputStream fileInputStream = new FileInputStream(path);
			GZIPInputStream gzip = new GZIPInputStream(fileInputStream);

			byte[] buffer = new byte[256];
			int n = 0;

			// 将未压缩数据读入字节数组
			while ((n = gzip.read(buffer)) >= 0) {
				out.write(buffer, 0, n);
			}

			return out.toString("utf-8");

		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
时间: 2024-10-05 04:55:25

android自带zip轻松实现压缩解压的相关文章

Linux基本命令—权限管理、文件搜索、帮助、压缩解压、网络通信

Linux基本命令-权限管理.文件搜索.帮助.压缩解压.网络通信 Linux 权限管理命令 文件搜索命令 帮助命令 压缩解压命令 网络通信指令 2017-11-12 权限管理命令 chmod 改变文件或目录权限: 格式:chmod [{ugo} {+-=} {rwx}] [文件或目录]:或 [mode=421] [文件或目录] -u:所有者: -g:所属组: -o:其他人 -rwx:可读可写可执行:对应权值 r-4.w-2.x-1,可按照数字改变权限:eg.rwxr-xr--表示754: eg.

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 http://my.oschina.net/junn/blog/104464 PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipAr

支持文件的流式压缩/解压IP*Works! Zip

IP*Works! Zip是为应用程序添加压缩功能的完全可控件组件包.使用简单.速度快并且效率很高,是一个为桌面和网上应用程序添加压缩和解压缩功能的组件套包./n software IP*Works! Zip支持Zip.Tar.Gzip 和 Jar压缩标准,特别的,它支持流式压缩.加密压缩,在压缩包里就可以直接删除文件.我们目前提供完全可控的纯C# .NET组件.纯Java Beans. 产品特征: IP*Works! Zip基于纯C#代码,是完全可控的.NET组件,不依赖于任何外部代码.是完全

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 &amp;&amp; Linux下的ZipArchive配置开启压缩

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipArchive;//新建一个ZipArchive的对象 /* 通过ZipArchive的对象处理zip文件 $zip->open这个方法的参数表示处理的

Linux压缩解压命令详细介绍(gizp、tag、zip、bzip2)

--------------------------------------压缩解压命令------------------------------- *windos可以解压所有linux系统的文件压缩包,但linux不一定能够全部解压windos的 一: gzip :压缩文件 ---  GUN zip    .gz文件格式 特点:1只能压缩文件,不能压缩目录 2不保留源文件 例子:gzip newfile   就会产生一个newfile.gz的一个文件包 gunzip :解压缩(或者用gzip

IOS开发—图片压缩/解压成Zip文件

图片压缩/解压成Zip文件 本文介绍如何将图片压缩成Zip文件,首先需要下载第三方库ZipArchive 并导入项目中. ZipArchive 库地址:https://github.com/mattconnolly/ZipArchive 一.文档结构: 二.准备工作: 1.框架导入: 2.ZipArchive.m文件使用非ARC机制 三.代码示例: // // ViewController.m // UnzipImgDemo // // Created byLotheve on 15/4/10.

Lniux常见的压缩/解压命令小结

转载请注明: 导航制导与控制实验室 2014年12月16日 在linux开发过程中,经常会遇资料的打包/解包.压缩/解压:本文我将在linux系统中常用的命令进行了整理和分类,内容如下: 1.tar 命令,主要是对Dir先归档,在借助其他命令处理归档文件: 2.单个文件的压缩命令,对单个文件进行处理的命令,有时也可以借助tar命令对目录先打包,再进行压缩: 3.zip.rar压缩命令,即可对单个文件也可对目录进行压缩处理,该方法利于不同操作系统的处理: 该文章只是作者本人的理解,有些命令还会验证

压缩&amp;&amp;解压命令汇总

以下是搜集的Linux系统下,压缩&&解压命令,以备参考使用. .tar 解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName    tar cvf a.tar a.txt b.txt c.txt (注:tar是打包,不是压缩!) --------------------------------------------- .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:g

linux下各种文件压缩解压(转载)

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲tar命令的基本用法:  tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面 来举例说明一下:  # tar -cf all.tar *.jpg  这条命令是将所有.jpg的文件打成一个名为all.tar的包.-c是表示产生新的包 ,-f指定包的文件名.  # tar -