En fait, il ne s'agit rien de plus que de compresser les adresses de fichiers que vous spécifiez une par une selon la méthode récursive.
out.putNextEntry(new ZipEntry(XXX)); Voici le contenu que vous souhaitez compresser,
Par exemple : s'il s'agit d'un dossier, alors out.putNextEntry(new ZipEntry (nom du dossier + "/"));
S'il s'agit du contenu du dossier, alors : out.putNextEntry(new ZipEntry (nom du dossier + "/" + nom du dossier) );En fait, il y a encore quelques problèmes avec votre programme ci-dessus, et il ne peut pas répondre à vos attentes. Laissez-moi vous aider à le modifier :
.La boucle for doit être modifiée comme suit :
for (int i = 0; i
Java compresse le fichier en zip
String test1="test1";
String test2="test2";
byte[] bytes1 = test1.getBytes("UTF-8");
byte[] bytes2 = test2.getBytes("UTF-8");
ZipEntry z1 = new ZipEntry("test1.txt");
zos.putNextEntry(z1);
zos.write(bytes1);
ZipEntry z2 = nouveau ZipEntry("text2.txt");
zos.putNextEntry(z2);
zos.write(bytes2);
zos.closeEntry();
zos.close();
//Le stream peut être obtenu par vous-même
//Le package Java par défaut ne prend pas en charge le chinois (caractères tronqués)
//Utilisez ZipOutputStream d'Apache pour la compression zip
Cela peut-il résoudre votre problème ?
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!