在Android 中以程式設計方式解壓縮
在Android 中以程式設計方式解壓縮檔案允許開發人員從壓縮的.zip 存檔中提取和管理單一文件。為了實現這一目標,有多種技術和庫可用。
一種有效的方法涉及使用 ZipInputStream 類別。此類別提供緩衝輸入流來從 .zip 檔案中讀取和解壓縮檔。下面的程式碼片段示範如何使用ZipInputStream 提取檔案:
<code class="java">private boolean unpackZip(String path, String zipname) { try (InputStream is = new FileInputStream(path + zipname); ZipInputStream zis = new ZipInputStream(new BufferedInputStream(is))) { ZipEntry ze; byte[] buffer = new byte[1024]; int count; while ((ze = zis.getNextEntry()) != null) { String filename = ze.getName(); // Create directories if necessary if (ze.isDirectory()) { File fmd = new File(path + filename); fmd.mkdirs(); continue; } FileOutputStream fout = new FileOutputStream(path + filename); while ((count = zis.read(buffer)) != -1) { fout.write(buffer, 0, count); } fout.close(); zis.closeEntry(); } zis.close(); return true; } catch (IOException e) { e.printStackTrace(); return false; } }</code>
此程式碼使用getNextEntry() 迭代.zip 檔案的條目,並將每個檔案擷取到指定路徑,同時檢查目錄和如果需要的話創建它們。
peno 的 ZipInputStream 最佳化顯著提高了效能。它確保緩衝區在循環外初始化一次,這可以減少記憶體使用和開銷。
以上是如何使用 ZipInputStream 以程式設計方式在 Android 中解壓縮檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!