Android解压zip文件到指定目录

很多时候需要把一个预制的zip文件解压到根目录,下面是一个实例代码:

复制代码
	private static final int BUFFER_SIZE = 4096;

    public static void unZip(String zipFilePath, String targetDir) throws IOException {
        File destDir = new File(targetDir);
        if (!destDir.exists()) {
            destDir.mkdirs();
        }

        try (FileInputStream fis = new FileInputStream(zipFilePath);
             ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis))) {

            ZipEntry entry;
            while ((entry = zis.getNextEntry()) != null) {
                String entryName = entry.getName();
                File file = new File(destDir, entryName);

                if (entry.isDirectory()) {
                    file.mkdirs();
                } else {
                    extractFile(zis, file);
                }
                zis.closeEntry();
            }
        }
    }

    private static void extractFile(ZipInputStream zis, File file) throws IOException {
        File parent = file.getParentFile();
        if (!parent.exists()) {
            parent.mkdirs();
        }

        try (FileOutputStream fos = new FileOutputStream(file);
             BufferedOutputStream bos = new BufferedOutputStream(fos, BUFFER_SIZE)) {

            byte[] buffer = new byte[BUFFER_SIZE];
            int read;
            while ((read = zis.read(buffer)) != -1) {
                bos.write(buffer, 0, read);
            }
        }
    }

使用实例:

unZip("/system/media/xxx.zip", "/storage/emulated/0/");

包自己导入一下就行了

相关推荐
weixin_443478512 分钟前
Flutter学习之导航与路由
java·学习·flutter
wjs20246 分钟前
CSS 颜色
开发语言
无巧不成书02188 分钟前
Java数值字面量速查表
java·开发语言·python·开发者·字面量
小鸡吃米…8 分钟前
测试线程应用程序
开发语言·python
python开发笔记9 分钟前
python(79) 底层代码追踪工具
开发语言·python
kgduu9 分钟前
js之错误处理
开发语言·前端·javascript
Bert.Cai10 分钟前
Python函数的定义与调用
开发语言·python
美式请加冰12 分钟前
模拟的介绍和使用
java·开发语言·算法
无限进步_13 分钟前
深入解析vector:一个完整的C++动态数组实现
c语言·开发语言·c++·windows·git·github·visual studio
万能的小裴同学18 分钟前
C++ 简易的FBX查看工具
开发语言·c++·算法