Tatsächlich ist es nichts anderes, als die von Ihnen angegebenen Dateiadressen einzeln nach der rekursiven Methode zu komprimieren.
out.putNextEntry(new ZipEntry(XXX)); Hier ist der Inhalt, den Sie komprimieren möchten,
Zum Beispiel: Wenn es sich um einen Ordner handelt, dann out.putNextEntry(new ZipEntry (folder name + „/“));
Wenn es der Inhalt im Ordner ist, dann: out.putNextEntry(new ZipEntry (Ordnername + „/“ + Ordnername));Tatsächlich gibt es immer noch einige Probleme mit Ihrem oben genannten Programm und es kann Ihre Erwartungen nicht erfüllen:
Die for-Schleife sollte wie folgt geändert werden:
for (int i = 0; i
Java komprimiert die Datei in Zip
String test1="test1";
String test2="test2";
byte[] bytes1 = test1.getBytes("UTF-8");
byte[] bytes2 = test2.getBytes("UTF-8");
ZipEntry z1 = neuer ZipEntry("test1.txt");
zos.putNextEntry(z1);
zos.write(bytes1);
ZipEntry z2 = neuer ZipEntry("text2.txt");
zos.putNextEntry(z2);
zos.write(bytes2);
zos.closeEntry();
zos.close();
//Der Stream kann selbst bezogen werden
//Das Standard-Java-Paket unterstützt kein Chinesisch (verstümmelte Zeichen)
//Verwenden Sie den ZipOutputStream von Apache für die Zip-Komprimierung
Kann dies Ihr Problem lösen?
Das obige ist der detaillierte Inhalt vonEin in JAVA geschriebenes Dateikomprimierungsprogramm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!