Maison >Java >javaDidacticiel >Comment décompresser par programme des fichiers sous Android à l'aide de ZipInputStream ?
Décompression programmée dans Android
La décompression de fichiers par programmation dans Android permet aux développeurs d'extraire et de gérer des fichiers individuels à partir d'une archive .zip compressée. Pour y parvenir, plusieurs techniques et bibliothèques sont disponibles.
Une méthode efficace consiste à utiliser la classe ZipInputStream. Cette classe fournit un flux d'entrée mis en mémoire tampon pour lire et décompresser les fichiers d'une archive .zip. L'extrait de code ci-dessous montre comment utiliser ZipInputStream pour extraire des fichiers :
<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>
Ce code parcourt les entrées du fichier .zip à l'aide de getNextEntry() et extrait chaque fichier vers le chemin spécifié tout en vérifiant les répertoires et en les créant si nécessaire.
L'optimisation ZipInputStream par peno améliore considérablement les performances. Il garantit que le tampon est initialisé une fois en dehors de la boucle, ce qui peut réduire l'utilisation de la mémoire et la surcharge.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!