Wir verwenden häufig Komprimierungssoftware wie WinZIP, um Dateien für eine einfache Übertragung zu komprimieren. Java bietet auch eine Klasse an, die Dateien komprimiert, um die Datenmenge während der Übertragung zu reduzieren, die Dateien problemlos in Reißverschluss, Glas, Gzip usw. komprimieren kann. Gzip ist hauptsächlich eine komprimierte Datei unter dem Linux -System.
Im Folgenden wird hauptsächlich über komprimierte Dateien in ZIP -Form gesprochen, und komprimierte Dateien in JAR- und GZIP -Form werden ebenfalls verwendet.
ZIP ist eine sehr häufige Form der Komprimierung. In Java, um die ZIP -Komprimierung zu implementieren, die Hauptnutzung der Klassen im Java.util.zip -Paket. Zu den hauptsächlich Zipfile, Zipoutputstream, Zipinputstream und Zipentry gehören. ZipoutputStream wird verwendet, um Dateien zu komprimieren, ZipinputStream und Zipfile werden zum Dekomprimieren von Dateien verwendet, und während der Komprimierung und Dekompression wird Zipentry verwendet. In Java -Zip -komprimierten Dateien ist jede Unterdatei ein Zipentry -Objekt.
Druckdateien:
importieren java.io.file; import Java.io.fileinputstream; import Java.io.FileOutputStream; Import Java.io.ioxception; importieren java.io.inputstream; importieren java.nio.charset.charset; ZipoutputStreamTest {public static void main (String args []) löscht ioException {test1 (); test2 (); } public static void test1 () löscht IOException {ZipoutputStream zos = neu zipoutputStream (neuer FileOutputStream ("D: //Testzip.zip"), charset.forname ("gbk"); // Ein Zipentry -Objekt mit dem Namen AB.TXT ZIPENTRY INTUR INTUR = neu Zipentry ("ab.txt") instanziieren; // Kommentar festlegen Zos.setCommention ("ZIP -Test für einzelne Datei"); // Fügen Sie das generierte Zipentry -Objekt in die komprimierte Datei hinzu, und dann wird der in die komprimierte Datei geschriebene Inhalt in diesem Zipentry -Objekt Zos.putNextEntry (Eintrag) platziert. InputStream ist = new FileInputStream ("d: //ab.txt"); int len = 0; while ((len = is.read ())! = -1) Zos.Write (len); IS.CLOSE (); zos.close (); } public static void test2 () löscht ioException {Datei infile = new File ("d: // test"); ZipoutputStream zos = neu zipoutputStream (neuer FileOutputStream ("d: //test.zip"), charset.forname ("gbk")); Zos.SetCompment ("Multi-File-Verarbeitung"); Zipfile (Infile, Zos, ""); zos.close (); } public static void zipfile (Datei infile, ZipoutputStream -Zos, String dir) löscht ioException {if (infile.isDirectory ()) {file [] file = infile.listfiles (); für (Dateidatei: Dateien) Zipfile (Datei, Zos, Dir + "//" + infile.getName ()); } else {String -EintragName = null; if (! ". sonst EintragName = infile.getName (); ZIPEntry -Eintrag = neu Zipentry (Eintragsname); Zos.putNextEntry (Eintrag); InputStream ist = neuer FileInputStream (infile); int len = 0; while ((len = is.read ())! = -1) Zos.Write (len); IS.CLOSE (); }}} Entpacken Sie die Datei:
Import Java.io.file; Import Java.io.fileinputstream; Import Java.io.filoutputStream; Import Java.io.io.ioException; Import Java.io.inputStream; Import Java.io.outputStream; Import Java.nio.Charset; java.util.zip.zipfile; import java.util.zip.zipinputstream; public class zipInputstreamtest {public static void main (String args []) löst ioException {Dateidatei = neue Datei ("d: //test.zip"; Jede Datei mit ZIP -komprimierter Datei kann als Zip -Datei ein Zipinputstream -Objekt einer Zip -komprimierten Datei instanziiert werden. Zipentry zipentry = null; while ((zipEntry = zipinputStream.getNextEntry ())! Datei temp = neue Datei ("d: // packtest //" + Dateiname); if (! temp.getParentFile (). exist ()) temp.getParentFile (). Mkdirs (); OutputStream os = new FileOutputStream (temp); // den spezifischen Zipentry -Eingangsstrom durch das GetInputStream -Methode von Zipfile abrufen. int len = 0; while ((len = is.read ())! = -1) os.write (len); os.close (); IS.CLOSE (); } zipinputStream.close (); }}Das obige ist eine Zusammenstellung der Informationen zur Java -Komprimierung und Dekompressionsdateien. Wir werden in Zukunft weiterhin relevante Informationen hinzufügen. Vielen Dank für Ihre Unterstützung für diese Website!