日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 解压 Zip 压缩文件

發(fā)布時(shí)間:2023/12/14 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 解压 Zip 压缩文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、AndroidManifest.xml 添加 sd 卡讀寫權(quán)限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

二、方法如下:

public void unzipFile(String zipPtath, String outputDirectory)throws IOException {/*** 解壓assets的zip壓縮文件到指定目錄* @param context上下文對(duì)象* @param assetName壓縮文件名* @param outputDirectory輸出目錄* @param isReWrite是否覆蓋* @throws IOException*/Log.i(TAG,"開始解壓的文件: " + zipPtath + "\n" + "解壓的目標(biāo)路徑:" + outputDirectory );// 創(chuàng)建解壓目標(biāo)目錄File file = new File(outputDirectory);// 如果目標(biāo)目錄不存在,則創(chuàng)建if (!file.exists()) {file.mkdirs();}// 打開壓縮文件InputStream inputStream = new FileInputStream(zipPtath); ;ZipInputStream zipInputStream = new ZipInputStream(inputStream);// 讀取一個(gè)進(jìn)入點(diǎn)ZipEntry zipEntry = zipInputStream.getNextEntry();// 使用1Mbufferbyte[] buffer = new byte[1024 * 1024];// 解壓時(shí)字節(jié)計(jì)數(shù)int count = 0;// 如果進(jìn)入點(diǎn)為空說明已經(jīng)遍歷完所有壓縮包中文件和目錄while (zipEntry != null) {Log.i(TAG,"解壓文件 入口 1: " +zipEntry );if (!zipEntry.isDirectory()) { //如果是一個(gè)文件// 如果是文件String fileName = zipEntry.getName();Log.i(TAG,"解壓文件 原來 文件的位置: " + fileName);fileName = fileName.substring(fileName.lastIndexOf("/") + 1); //截取文件的名字 去掉原文件夾名字Log.i(TAG,"解壓文件 的名字: " + fileName);file = new File(outputDirectory + File.separator + fileName); //放到新的解壓的文件路徑file.createNewFile();FileOutputStream fileOutputStream = new FileOutputStream(file);while ((count = zipInputStream.read(buffer)) > 0) {fileOutputStream.write(buffer, 0, count);}fileOutputStream.close();}// 定位到下一個(gè)文件入口zipEntry = zipInputStream.getNextEntry();Log.i(TAG,"解壓文件 入口 2: " + zipEntry );}zipInputStream.close();Log.i(TAG,"解壓完成");}

三、調(diào)用方法:

private String zipPtath = "/storage/emulated/0/testunzip/test.zip";//壓縮包路徑private String unzipPath = "/storage/emulated/0/testunzip/";//解壓路徑unzipFile(zipPtath,unzipPath);

總結(jié)

以上是生活随笔為你收集整理的Android 解压 Zip 压缩文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。