Malah, ia tidak lebih daripada memampatkan alamat fail yang anda tentukan satu persatu mengikut kaedah rekursif.
out.putNextEntry(ZipEntry(XXX) baharu);
Sebagai contoh: jika ia adalah folder, maka keluar.putNextEntry(ZipEntry baharu (nama folder + "/")Jika ia adalah kandungan dalam folder, maka: out.putNextEntry(ZipEntry baharu (nama folder + "/" + nama folder)
Sebenarnya, masih terdapat beberapa masalah dengan program anda di atas, dan ia tidak dapat memenuhi jangkaan anda. Biar saya bantu anda mengubah suainya:
Gelung for hendaklah diubah suai kepada ini:
untuk (int i = 0; i
Ujian rentetan1="ujian1";
Ujian rentetan2="ujian2";
bait[] bait1 = test1.getBytes("UTF-8");
bait[] bait2 = test2.getBytes("UTF-8");
ZipEntry z1 = ZipEntry baharu("test1.txt");
zos.putNextEntry(z1);
zos.write(bait1);
ZipEntry z2 = ZipEntry baharu("text2.txt");
zos.putNextEntry(z2);
zos.write(bait2);
zos.closeEntry();
zos.close();
//Strim boleh dapatkan sendiri
//Pakej Java lalai tidak menyokong bahasa Cina (aksara bercelaru)
//Gunakan ZipOutputStream apache untuk pemampatan zip
Bolehkah ini menyelesaikan masalah anda?
Atas ialah kandungan terperinci Program pemampatan fail yang ditulis dalam JAVA. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!