Maison >Java >javaDidacticiel >Comment décompresser des fichiers d'une archive ZIP sous Android ?
Extraire des fichiers des archives ZIP dans Android
La décompression de fichiers par programme dans Android permet la manipulation et la récupération de fichiers individuels à partir d'une archive ZIP compressée. Pour y parvenir, les développeurs utilisent la classe ZipInputStream, qui fournit un moyen efficace et pratique d'extraire des fichiers.
Considérez l'extrait de code suivant qui décompresse efficacement les fichiers d'une archive ZIP spécifiée :
<code class="java">private boolean unpackZip(String path, String zipname) { InputStream is; ZipInputStream zis; try { String filename; is = new FileInputStream(path + zipname); zis = new ZipInputStream(new BufferedInputStream(is)); ZipEntry ze; byte[] buffer = new byte[1024]; int count; while ((ze = zis.getNextEntry()) != null) { 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(); } catch (IOException e) { e.printStackTrace(); return false; } return true; }</code>
Ce code initialise un flux d'entrée pour l'archive ZIP spécifiée et crée un objet ZipInputStream pour traiter les données compressées. Il parcourt ensuite les entrées ZIP, extrayant les fichiers en conséquence. Si une entrée est un répertoire, le code crée les répertoires nécessaires ; sinon, il écrit les données extraites dans un fichier portant le même nom et le même emplacement que dans l'archive ZIP.
En utilisant cet extrait de code, les développeurs peuvent décompresser efficacement les archives ZIP dans les applications Android, donnant ainsi accès à des fichiers individuels dans les archives.
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!