Komprimovanie súboru pomocou DeflaterOutputStream
Táto trieda implementuje filter výstupného toku na kompresiu údajov v kompresnom formáte „deflate“. Používa sa aj ako základ pre iné typy kompresných filtrov, ako je GZIPOutputStream. Dôležité metódy:- Vezmite vstupný súbor „súbor 1“ do FileInputStream na čítanie údajov.
- Vezmite výstupný súbor „súbor 2“ a priraďte ho k FileOutputStream . Pomôže to zapisovať údaje do súboru „file2“.
- Priraďte FileOutputStream k DeflaterOutputStream na kompresiu údajov.
- Teraz si prečítajte údaje z FileInputStream a zapíšte ich do DeflaterOutputStream. Skomprimuje údaje a odošle ich do FileOutputStream, ktorý uloží komprimované údaje do výstupného súboru.
- Súbor s názvom „file2“ teraz obsahuje komprimované údaje a z tohto súboru potrebujeme získať pôvodné dekomprimované údaje.
- Priraďte komprimovaný súbor „file2“ k FileInputStream. Pomáha to čítať údaje zo súboru „file2“.
- Výstupný súbor „file3“ priraďte k FileOutputStream. Pomôže to zapisovať nekomprimované údaje do súboru „file3“.
- Teraz si prečítajte nekomprimované údaje z InflaterInputStream a zapíšte ich do FileOutputStream. Toto zapíše nekomprimované údaje do súboru „file3“.
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(); } }
Dekomprimácia súboru pomocou InflaterInputStream
Táto trieda implementuje prúdový filter na dekomprimovanie údajov v kompresnom formáte „deflate“. Používa sa tiež ako základ pre ďalšie dekompresné filtre, ako je GZIPInputStream. Dôležité metódy: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(); } }
Vytvoriť kvíz