`
zhujianjia
  • 浏览: 478666 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android编程-zip压缩与解压缩

 
阅读更多

代码如下:

zip压缩:

 

//压缩文件并存放到指定目录
    private void zipFile(String fileFrom, String fileTo) {
    	
    	try {
            FileInputStream in = new FileInputStream(fileFrom);
            FileOutputStream out = new FileOutputStream(fileTo);
            ZipOutputStream zipOut = new ZipOutputStream(out);
            ZipEntry entry = new ZipEntry(fileFrom);
            zipOut.putNextEntry(entry);
            int nNumber;
            byte[] buffer = new byte[512];
            while ((nNumber = in.read(buffer)) != -1){
                zipOut.write(buffer, 0, nNumber);
                countBuffer++;
            }
            zipOut.close();

            out.close();
            in.close();
            handlerCopy.sendEmptyMessage(2);
        } catch (IOException e) {
        	handlerCopy.sendEmptyMessage(3);
            System.out.println(e);
        }
    }

 

zip解压缩:

private static void Unzip(String zipFile, String targetDir) {
    	int BUFFER = 4096; //这里缓冲区我们使用4KB,
    	String strEntry; //保存每个zip的条目名称
    	try {
    		BufferedOutputStream dest = null; //缓冲输出流
    	    FileInputStream fis = new FileInputStream(zipFile);
    	    ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
    	    ZipEntry entry; //每个zip条目的实例
    	    while ((entry = zis.getNextEntry()) != null) {
    	    	try {
    	    		int count;
    	    		byte data[] = new byte[BUFFER];
    	    		strEntry = entry.getName();
    	    		File entryFile = new File(targetDir + strEntry);
    	    		File entryDir = new File(entryFile.getParent());
    	    		if (!entryDir.exists()) {
    	    			entryDir.mkdirs();
    	    		}
    	    		FileOutputStream fos = new FileOutputStream(entryFile);
    	    		dest = new BufferedOutputStream(fos, BUFFER);
    	    		while ((count = zis.read(data, 0, BUFFER)) != -1) {
    	    			
    	    			dest.write(data, 0, count);
    	    		}
    	    		dest.flush();
    	    		dest.close();
    	    	} catch (Exception ex) {
    	    		ex.printStackTrace();
    	    	}
    	    }
    	    zis.close();
    	} catch (Exception cwj) {
    		cwj.printStackTrace();
    	}
	}
 
分享到:
评论

相关推荐

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    文件管理器源码,文件拖曳,list弹性,root ,zip压缩解_Android.rar

    文件管理器源码,文件拖曳,list弹性,root ,zip压缩解_Android

    文件管理器源码,文件拖曳,list弹性,root ,zip压缩解.zip

    例如,我们使用了Android Studio作为开发工具,它提供了一系列的功能和工具,如代码编辑器、调试器和模拟器,使得开发人员可以快速开发和测试安卓应用。我们还使用了Java作为主要的编程语言,它是安卓应用开发的主流...

    java开源包1

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包10

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包11

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包2

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包3

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包6

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包5

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包4

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包8

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包7

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包9

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包101

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    Java资源包01

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    MiBandView:用于从小米手环获取和可视化数据的 Windows .Net 程序

    MiBandView ...将 zip 文件解压缩到一个目录,解压缩包包含所有二进制文件。 启动程序 MiBandView.exe 选择如何访问小米手环(有或没有root) 在您的智能手机上设置工作目录(临时文件的位置,如果不存在

Global site tag (gtag.js) - Google Analytics