Faila saspiešana, izmantojot DeflaterOutputStream
Šī klase ievieš izvades straumes filtru datu saspiešanai “deflācijas” saspiešanas formātā. To izmanto arī par pamatu cita veida kompresijas filtriem, piemēram, GZIPOutputStream. Svarīgas metodes:- Lai nolasītu datus, ievadiet failu FileInputStream ievades failu “file 1”.
- Paņemiet izvades failu "file 2" un piešķiriet to FileOutputStream. Tas palīdzēs ierakstīt datus failā2.
- Piešķiriet FileOutputStream deflaterOutputStream datu saspiešanai.
- Tagad lasiet datus no FileInputStream un ierakstiet tos programmā DeflaterOutputStream. Tas saspiedīs datus un nosūtīs tos FileOutputStream, kas saglabā saspiestos datus izvades failā.
- Fails ar nosaukumu “file2” tagad satur saspiestus datus, un mums no šī faila jāiegūst sākotnējie atspiestie dati.
- Piešķiriet saspiesto failu “file2” failam FileInputStream. Tas palīdz nolasīt datus no faila2.
- Piešķiriet izvades failu “file3” failam FileOutputStream. Tas palīdzēs ierakstīt nesaspiestus datus failā 3.
- Tagad lasiet nesaspiestos datus no InflaterInputStream un ierakstiet tos FileOutputStream. Tas ierakstīs nesaspiestos datus failā 3.
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(); } }
Faila atspiešana, izmantojot InflaterInputStream
Šī klase ievieš straumes filtru datu atspiešanai saspiešanas formātā “deflācija”. To izmanto arī par pamatu citiem dekompresijas filtriem, piemēram, GZIPInputStream. Svarīgas metodes: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(); } }
Izveidojiet viktorīnu