Maison > Java > javaDidacticiel > le corps du texte

Comment décompresser plusieurs fichiers par programme sous Android avec des performances améliorées ?

DDD
Libérer: 2024-10-30 06:42:27
original
975 Les gens l'ont consulté

How to Unzip Multiple Files Programmatically in Android with Enhanced Performance?

Décompresser des fichiers par programme sous Android

Le déverrouillage du contenu des archives ZIP est une tâche fondamentale dans de nombreuses applications Android. Cette question cherche une solution pour décompresser plusieurs fichiers d'une archive ZIP spécifiée, en conservant leurs formats d'origine.

Adopter une approche raffinée

La solution fournie optimise une version précédente, ce qui entraîne des performances améliorées visibles l'utilisateur. Voici l'extrait de code optimisé :

<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();

            // Handle directories
            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>
Copier après la connexion

Décomposition du code

Ce code optimisé effectue les étapes suivantes :

  • Initialisation : Établissement de flux d'entrée pour la lecture de l'archive ZIP.
  • Entry Traversal : Itération dans les entrées ZIP.
  • Gestion des répertoires : Création de répertoires si nécessaire.
  • Extraction de fichiers : écriture du contenu du fichier à l'aide d'un tampon.
  • Fermeture des flux : fermeture correcte des flux d'entrée et de sortie.

Ce code optimisé rationalise le processus de décompression, offrant une extraction de fichiers efficace avec des améliorations de vitesse perceptibles.

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
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!