Kompresowanie pliku przy użyciu DeflaterOutputStream
Ta klasa implementuje filtr strumienia wyjściowego do kompresji danych w formacie kompresji „deflate”. Jest również używany jako podstawa dla innych typów filtrów kompresyjnych, takich jak GZIPOutputStream. Ważne metody:- Pobierz plik wejściowy „plik 1” do FileInputStream w celu odczytania danych.
- Weź plik wyjściowy „plik 2” i przypisz go do FileOutputStream . Pomoże to zapisać dane w „pliku2”.
- Przypisz FileOutputStream do DeflaterOutputStream w celu skompresowania danych.
- Teraz odczytaj dane z FileInputStream i zapisz je w DeflaterOutputStream. Skompresuje dane i wyśle je do FileOutputStream, który przechowuje skompresowane dane w pliku wyjściowym.
- Plik o nazwie „plik2” zawiera teraz skompresowane dane i musimy uzyskać z tego pliku oryginalne, zdekompresowane dane.
- Przypisz skompresowany plik „file2” do FileInputStream. Pomaga to w odczytaniu danych z „pliku2”.
- Przypisz plik wyjściowy „file3” do FileOutputStream. Pomoże to zapisać nieskompresowane dane w „pliku 3”.
- Teraz przeczytaj nieskompresowane dane z InflaterInputStream i zapisz je w FileOutputStream. Spowoduje to zapisanie nieskompresowanych danych w „pliku3”.
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(); } }
Dekompresja pliku za pomocą InflaterInputStream
Ta klasa implementuje filtr strumieniowy do dekompresowania danych w formacie kompresji „deflate”. Jest również używany jako podstawa dla innych filtrów dekompresyjnych, takich jak GZIPInputStream. Ważne metody: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(); } }
Utwórz quiz