Maison > Java > javaDidacticiel > le corps du texte

Comment décompresser par programme des fichiers sous Android à l'aide de ZipInputStream ?

Mary-Kate Olsen
Libérer: 2024-10-29 22:38:02
original
252 Les gens l'ont consulté

How to Programmatically Unzip Files in Android using 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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!