package com.ad.zip;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import android.os.Environment;
public class FileUtil {
public static final String SDCARD_PATH = Environment
.getExternalStorageDirectory() + "/";
public static final String CACHE_PATH_ROOT = SDCARD_PATH + "MBACache/images.zip";
public static final String SHUCHU_ROOT = SDCARD_PATH + "MBACache";
public static void zipMethod() {
long startTime=System.currentTimeMillis();
try {
ZipInputStream Zin=new ZipInputStream(new FileInputStream(CACHE_PATH_ROOT));//输入源zip路径
BufferedInputStream Bin=new BufferedInputStream(Zin);
String Parent=SHUCHU_ROOT; //输出路径(文件夹目录)
File Fout=null;
ZipEntry entry;
try {
// entry:images/menu_center.png entry.isDirectory():false
// fout:/mnt/sdcard/MBACache/images/menu_center.png
// Fout.getParent():/mnt/sdcard/MBACache/images
while((entry = Zin.getNextEntry())!=null && !entry.isDirectory()){
Fout=new File(Parent,entry.getName());
if(!Fout.exists()){
(new File(Fout.getParent())).mkdirs();
}
FileOutputStream out=new FileOutputStream(Fout);
BufferedOutputStream Bout=new BufferedOutputStream(out);
int b;
while((b=Bin.read())!=-1){
Bout.write(b);
}
Bout.close();
out.close();
System.out.println(Fout+"解压成功");
}
Bin.close();
Zin.close();
} catch (IOException e) {
System.out.println("e1---->"+e);
}
} catch (FileNotFoundException e) {
System.out.println("e2---->"+e);
}
long endTime=System.currentTimeMillis();
System.out.println("耗费时间: "+(endTime-startTime)+" ms");
}
}
分享到:
相关推荐
### Android解压ZIP包知识点详解 #### 一、概述 在Android开发中,有时需要对ZIP格式的压缩文件进行解压操作,以便于处理其中包含的文件或资源。本篇文章将详细探讨如何在Android环境中使用Apache的ZIP工具库来...
本文将深入探讨如何在Android中解压zip文件,并结合打包zip文件的概念,以帮助你更好地理解整个过程。 首先,我们需要了解zip文件的原理。ZIP是一种常用的文件格式,用于压缩一个或多个文件或目录,以便节省存储...
在Android平台上进行文件操作时,有时我们需要对ZIP格式的压缩包进行解压,这时可以借助第三方库如`zip4j`。`zip4j`是一个强大的Java库,它提供了全面的功能来处理ZIP文件,包括创建、读取、更新、删除ZIP文件以及解...
Android端zip压缩与解压,目前暂时只做zip格式支持,基于Zip4j (http://www.lingala.net/zip4j/)进行扩展成工具类,支持对单个文件,多个文件以及文件夹进行压缩,对压缩文件解压到到指定目录,支持压缩解压使用密码...
在Android平台上,有时候我们...总结来说,要在Android的C环境中解压Zip文件,你需要结合libz和minizip库,通过JNI调用C代码实现。这个过程涉及文件的打开、遍历、解压和关闭,以及与Java层的交互和Android权限管理。
这里我们关注的是一个名为"Android Java zip解压库"的项目,它提供了一个简洁的Java实现,用于在Android环境中解压ZIP文件,并且能够获取每个文件在压缩文件中的起始位置和大小信息。 1. **Java ZIP API**: 这个库...
在Android平台上,解压ZIP文件是一项常见的任务,无论是为了安装APK应用、处理用户数据,还是集成第三方库。本文将详细讲解如何在Android环境中实现ZIP文件的解压操作。 首先,我们需要了解Android提供的API——`...
解压ZIP文件的基本步骤如下: 1. 打开ZIP文件:通过`FileInputStream`打开ZIP文件,然后创建一个`ZipInputStream`实例。 2. 遍历ZIP条目:使用`ZipInputStream`的`getNextEntry()`方法逐个获取ZIP文件中的条目。 3....
在android开发中,有时候需要将文件打包成zip或将zip解压,如果直接用java.util.zip包下面的类会出现中文乱码,如果直接用org.apache.tools.zip(ant包中的压缩功能)会影响项目的编译时间; 故将ant包中文件瘦身,既...
在Android系统中,我们可以使用Java内置的`java.util.zip`包来处理Zip文件。 ### 一、解压缩Zip文件 1. **读取Zip文件**:使用`java.util.zip.ZipInputStream`类来读取Zip文件,这个类可以从输入流中读取Zip条目...
以下是一个简单的Java代码示例,演示如何在Android上解压ZIP文件: ```java File zipFile = new File("path_to_your_zip_file.zip"); File outputDir = new File("output_directory_path"); try ...
其实在网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,所以这篇文章在此记录一下下载zip文件并直接解压的方法,直接上代码,文末有源码下载。 下载: import java.io.BufferedInputStream; ...
在给定的标题“android解压rar和zip需要的两个jar包”中,我们可以理解到,这里提到的是Android应用开发中处理这两种常见压缩格式的方法。下面我们将详细介绍如何在Android应用中实现RAR和ZIP文件的解压,以及可能...
Android提供了`java.util.zip`包,其中的`ZipInputStream`和`ZipEntry`类用于读取和解压ZIP文件。以下是一个基本的解压过程: ```java FileInputStream fis = new FileInputStream("/path/to/downloaded/file.zip")...
### Android Zip解压知识点 #### 一、概述 在Android开发过程中,经常需要处理压缩文件,其中最常见的就是ZIP格式的文件。本知识点将基于提供的文件信息来深入探讨Android中的ZIP解压技术,包括如何实现基本的ZIP...
在Android系统中,zip文件的解压操作是一个常见的任务,无论是安装APK应用还是处理用户数据,都可能涉及这一过程。然而,不正确的zip解压实现可能会导致安全问题,也就是所谓的"zip解压漏洞"。这类漏洞允许攻击者...
Android提供了`java.util.zip`包,其中`ZipInputStream`和`ZipEntry`用于解压缩。首先,创建一个`ZipInputStream`,传入下载好的压缩文件的输入流。然后,遍历`ZipInputStream`,每次读取一个`ZipEntry`,创建对应...
这里我们以Apache Commons Compress为例,它提供了丰富的文件处理功能,包括解压ZIP文件。确保在项目的build.gradle文件中添加对应的依赖: ```groovy dependencies { implementation 'org.apache.commons:commons...
在Android开发中,有时我们需要将应用内部的资源文件,如ZIP压缩文件,解压到外部存储(即SD卡)上,以便用户可以访问或使用这些数据。本文将详细讲解如何实现这一功能,主要涉及Android权限管理、文件操作以及ZIP...