Rumah >Java >javaTutorial >Bagaimana untuk memprogramkan fail dalam Android menggunakan 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!