Komprimieren einer Datei mit DeflaterOutputStream
Diese Klasse implementiert einen Ausgabestreamfilter zum Komprimieren von Daten im Komprimierungsformat „deflate“. Es wird auch als Grundlage für andere Arten von Komprimierungsfiltern wie GZIPOutputStream verwendet. Wichtige Methoden:- Übernehmen Sie eine Eingabedatei „Datei 1“ zu FileInputStream, um Daten zu lesen.
- Nehmen Sie die Ausgabedatei „Datei 2“ und weisen Sie sie FileOutputStream zu. Dies hilft beim Schreiben von Daten in „Datei2“.
- Weisen Sie FileOutputStream DeflaterOutputStream zu, um die Daten zu komprimieren.
- Lesen Sie nun Daten aus FileInputStream und schreiben Sie sie in DeflaterOutputStream. Die Daten werden komprimiert und an FileOutputStream gesendet, der die komprimierten Daten in der Ausgabedatei speichert.
- Die Datei mit dem Namen „Datei2“ enthält jetzt komprimierte Daten und wir müssen die ursprünglichen dekomprimierten Daten aus dieser Datei abrufen.
- Weisen Sie FileInputStream die komprimierte Datei „file2“ zu. Dies hilft beim Lesen von Daten aus „Datei2“.
- Weisen Sie FileOutputStream die Ausgabedatei „file3“ zu. Dies hilft dabei, unkomprimierte Daten in „Datei3“ zu schreiben.
- Lesen Sie nun unkomprimierte Daten aus InflaterInputStream und schreiben Sie sie in FileOutputStream. Dadurch werden die unkomprimierten Daten in „Datei3“ geschrieben.
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.Deflater; import java.util.zip.DeflaterOutputStream; class zip { public static void main(String[] args) throws IOException { //Assign the original file : file to //FileInputStream for reading data FileInputStream fis=new FileInputStream('file1'); //Assign compressed file:file2 to FileOutputStream FileOutputStream fos=new FileOutputStream('file2'); //Assign FileOutputStream to DeflaterOutputStream DeflaterOutputStream dos=new DeflaterOutputStream(fos); //read data from FileInputStream and write it into DeflaterOutputStream int data; while ((data=fis.read())!=-1) { dos.write(data); } //close the file fis.close(); dos.close(); } }
Dekomprimieren einer Datei mit InflaterInputStream
Listenzeichenfolge JavaDiese Klasse implementiert einen Stream-Filter zum Dekomprimieren von Daten im Komprimierungsformat „deflate“. Es wird auch als Grundlage für andere Dekomprimierungsfilter wie GZIPInputStream verwendet. Wichtige Methoden:
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.InflaterInputStream; //Uncompressing a file using an InflaterInputStream class unzip { public static void main(String[] args) throws IOException { //assign Input File : file2 to FileInputStream for reading data FileInputStream fis=new FileInputStream('file2'); //assign output file: file3 to FileOutputStream for reading the data FileOutputStream fos=new FileOutputStream('file3'); //assign inflaterInputStream to FileInputStream for uncompressing the data InflaterInputStream iis=new InflaterInputStream(fis); //read data from inflaterInputStream and write it into FileOutputStream int data; while((data=iis.read())!=-1) { fos.write(data); } //close the files fos.close(); iis.close(); } }
Quiz erstellen