Rumah >Java >javaTutorial >Bagaimana untuk memprogramkan fail dalam Android menggunakan ZipInputStream?

Bagaimana untuk memprogramkan fail dalam Android menggunakan ZipInputStream?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-29 22:38:02333semak imbas

How to Programmatically Unzip Files in Android using ZipInputStream?

Menyahzip Terprogram dalam Android

Menyahzip fail secara pengaturcaraan dalam Android membolehkan pembangun mengekstrak dan mengurus fail individu daripada arkib .zip yang dimampatkan. Untuk mencapai matlamat ini, terdapat beberapa teknik dan perpustakaan yang tersedia.

Satu kaedah yang cekap melibatkan penggunaan kelas ZipInputStream. Kelas ini menyediakan aliran input buffer untuk membaca dan menyahzip fail daripada arkib .zip. Coretan kod di bawah menunjukkan cara menggunakan ZipInputStream untuk mengekstrak fail:

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

Kod ini berulang melalui entri fail .zip menggunakan getNextEntry() dan mengekstrak setiap fail ke laluan yang ditentukan sambil menyemak direktori dan menciptanya jika perlu.

Pengoptimuman ZipInputStream oleh peno meningkatkan prestasi dengan ketara. Ia memastikan penimbal dimulakan sekali di luar gelung, yang boleh mengurangkan penggunaan memori dan overhed.

Atas ialah kandungan terperinci Bagaimana untuk memprogramkan fail dalam Android menggunakan ZipInputStream?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn