In diesem Beispiel wird Javas ZIP -Eingangs- und Ausgabestream verwendet, um Dateien zu komprimieren und zu dekomprimieren. Der vorherige Teil des Codes implementiert die Erfassung von Dateipfaden, Änderungen an komprimierten Dateinamen usw. wie folgt:
paket com.utility.zip; import java.io.bufufferedInputstream; import Java.io.buffedOutputStream; Import Java.io.io.File; Import Java.io.FileInputStream; Imporation Java.io.io.file.fileStream; Java's Zip input and output stream* * @author liujiduo * */public final class ZipUtil {private ZipUtil() {// empty}/** * Compressed file* * @param filePath * File path to be compressed* @return Compressed file*/public static File zip(String filePath) {File target = null;File source = new File(filePath);if (source.exists()) {// Compressed file name=source filename.zipString zipName = source.getName() + ".zip";target = new File(source.getParent(), zipName);if (target.exists()) {target.delete();// Delete the old file}FileOutputStream fos = null;ZipOutputStream zos = null;try {fos = new FileOutputStream (Ziel); zos = neu zipoutputStream (new bufferedOutputStream (fos)); // Fügen Sie die entsprechenden Dateieintragsabnahme hinzu ("/", Quelle, Zos);} catch (ioException e) {time runTimexception (e); Ziel;}/** * scannen, um den Dateieintrag * * * @param Base * Basispfad * @param Source * Quelldatei * @param Zos * ZIP -Dateiausgabe Stream * @throws ioException */private statische void Addentry (String -Basis, Dateiquelle, ZipoutputStream) aus IOException {// grade by Directory, z. source.getName (); if (source.isdirectory ()) {für (Dateidatei: source.Listfiles ()) {// Auflistung alle Dateien im Verzeichnis und hinzufügen Dateien einstiegadDentry hinzufügen (Eintrag + "/", Datei, zos);}} else {{FileInputStream = pufBerpuledInledEldEldEr = null; null; null; null; null; pufBeredInedIntewedRedEldEldEldElted -{] pufbel = null. 10]; fis = neuer FileInputStream (Quelle); Bis = new BufferedInputStream (fis, buffer.length); int Read = 0; Zos.putNextEntry (neu Zipentry (Eintrag)); while ((read = Bis.Read (Buffer, 0, Buffer.Length)! filepath) {Datei source = new Datei (filepath); if (source.exists ()) {zipinputStream zis = null; bufferedOutputStream bos = null; try {zis = neu zipinputstream (neuer FileInputStream (Quelle)); Zipentry -Eintrag = null; while (((Entry). Entry.getName ()); if (! target.getParentFile (). exist ()) {// Erstellen Sie das übergeordnete Verzeichnis des Datei target.getParentFile (). Mkdirs ();} // Schreiben Sie in die Datei bos = new pufufferedOutputstream (new FileOutputStream). Zis.Read (Buffer, 0, Buffer.Length))! main (string [] args) {string target path = "e: // win7 wallpaper"; file file = ziputil.zip (targetPath);Im Folgenden finden Sie eine Java -Sprachbeschreibung zum Schließen eines oder mehrerer Stream -Objekte über die IO -Stream -Tool -Klasse, um eine Liste geschlossener Stream -Objekte wie folgt zu erhalten:
Paket com.utility.io; import java.io.closenable; import Java.io.ioException;/** * IO Stream Tool Class * * @Author liujiduo * */public class ioutil {/** * Schließen Sie ein oder mehrere Stream -Objekte * * @param -Verschlüsse * @throws * @throws). {if (closeacbles! {close (closeAwles);} catch (ioException e) {// nichts tun}}}Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über das Codebeispiel der Java -Komprimierungsdatei -Tool -Ziputil -Nutzungsmethode. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen.