Android でのプログラムによる解凍
Android でプログラムによるファイルの解凍を行うと、開発者は圧縮された .zip アーカイブから個々のファイルを抽出して管理できます。これを実現するために、いくつかの手法とライブラリが利用可能です。
効率的な方法の 1 つは、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 中国語 Web サイトの他の関連記事を参照してください。