Cov ntaub ntawv Compression thiab cov Decompression siv Java

Data Compression

Cov Ntaub Ntawv Tsis Txaus Siab Siv Java

Txheej txheem cej luam:

Nyob rau hauv ib daim ntawv thov software, muab nws ua neeg rau zaub mov nyob hauv kev pab los sis faib, hloov cov ntaub ntawv no yuav tsum muaj. Li ntawd, tus architecture ntawm tsab ntawv no tsim los tsis tau kev hloov ntaub ntawv thiab kev txhim kho cov kev kawm. Ib cov tshuaj yooj yim los tswj qhov loj loj ntim ntawm cov ntaub ntawv yog ntxiv cia thiab txhim kho kev sib txuas lus ntawm ob hnub (npe hu ua neeg thiab muab rau neeg noj los yog cia). Tiam sis qhov teeb meem no, Cia thiab sib txuas lus infrastructure xav tau peev ntxiv, yog ib qho uas yuav ua tau. Lub ntsiab yog siv cov ntaub ntawv nyuaj tshuab.

Nyob rau cov tshooj no, Peb yuav tsom rua cov ntaub ntawv compression thiab decompression thiab seb nws yuav ua li cas nws yuav kov tau los ntawm daim ntaub ntawv Java.







Yuav ua li cas cov ntaub ntawv qhia txog tej hauj lwm?

Cov ntaub ntawv compression yuav tiav rau txoj kev sib txawv. Ntawm no peb yuav tham txog tej tswvyim yooj yim thiab cov txheej txheem. Kev nyuaj siab mas tshem tawm cov redundancy nyob rau hauv ib cov ntaub ntawv uas thov kev txawj ntse los sawv cev rau nws. Cov tsab ntawv yooj yim ntawm redundancy yog repetition ntawm cov cim zoo sib xws nyob rau hauv ib txoj hlua ntawm cov ntaub ntawv. Thiab, Cov hom kev kawm siv tshuab compact cov hlua thiab tshem tawm cov cim.

Piv txwv, xyuas nram qab no; Nws muaj ntau redundant cim uas yuav tau uas muaj tuaj hauv ib txoj kev sib txawv.

QHOV MUAGDDUUOONNIX

Wb compact lub txoj hlua raws li hauv qab no. Nws nruab nrab yog cov hlua uas muaj ib hom kev kawm txawv.

4E2D3U.S.2O2N22X

Muaj ntau lwm txoj kev tseem rau cov ntaub ntawv qhia. Tiam sis lub tswvyim yooj yim yog ib yam li tham txog saum toj no.

Qhov txawv ntawm ZIP thiab GZIP?

Peb yuav tsum tau siv ZAUV thiab GZIP Cov decompressing hlauv taws xob los yog decompressing ntaub ntawv. Tiam sis yog ib qhov txawv ntawm cov kev siv cov hlauv taws xob. Nyob rau hauv Qhov rais ib puag ntiag, WinZip siv rau cov ntaub ntawv thiab kev nyuaj siab. Tab sis nyob rau hauv tab UNIX ib puag ntiag, ua tau zoo nyob rau hauv ib txoj kev sib txawv. Ua ntej, ‘ib 'chaw tso dej,) los ua ib tug archive thiab ces GZIP siv los nyuaj rau cov ntaub ntawv archived. Li ntawd, nyob rau hauv UNIX Nws yog ib tug ob-kauj ruam whereas hauv qhov rais archiving thiab compression yog ua nyob rau hauv ib kauj ruam xwb.






Li cas Java ua haujlwm nrog ZIP ntaub ntawv?

Java ua ib hom lus muaj ntau cov pob khoom ua hauj lwm nrog cov ntaub ntawv nyuaj siab thiab kev nyuaj siab. Lub ntsiab fais fab ntawm lub hwj huam yog java.zip.zip, uas siv los nyuaj zip compatible ntaub ntawv. Cov pob khoom no muaj ntau hom kev nyeem ntawv, sau ntawv. tsim, hloov GZIP thiab ZIP ntaub ntawv daim ntawv. Lawv kuj muaj cov checksums los validate qhov luaj li cas ua ntej thiab tom qab compression. Txawv Java hlauv taws xob txog tej ntaub ntawv thiab kev nyuaj siab yuav tau ntsuam xyuas hauv Oracle ntaub ntawv.

Wb sim ib co piv txwv

Nyob rau hauv tshooj no peb yuav sim ob tug piv txwv, Ib qho nrog cov lus qhia thiab lwm tus uas muaj cov ntaub ntawv decompression.

Ntaub ntawv piv txwv:

Hauv qhov ua piv txwv, Peb yuav xyuas seb Java daim ntawv thov yuav siv tau los nyuaj siab ib daim ntawv thiab ua ib archive. Ntawm no peb tau siv ib daim ntawv teev tib 'xub thawj.' nyuaj siab. Cov ntaub ntawv yuav tau compressed nyob hauv ib zipp cov ntaub ntawv hu ua 'FileArchive.'. Qhov kev pab cuam no yuav hloov tau ntau yam zauv uas siv ib loop. Cov ntaub ntawv yuav tsum tsim nyob rau txhua qhov chaw thiab txoj kev tau tshwj xeeb rau hauv daim ntawv thov. Peb tau khaws cov ntaub ntawv nyob rau hauv ib qho chaw uas daim ntawv thov Java daim ntawv thov yog cia (yooj yim).

Listing1: Piv txwv qhia cov ntaub ntawv uas siv Java

[chaws]

ntshuam java.io.FileInputStream;

import java.io.FileOutputream;

ntshuam java.io.IOException;

import java.zip.zip.Zipentry;

import java.zip.zip.ZipOutstream;

Pej xeem hoob kawm fileCompress

{

pej xeem tsis muaj dabtsis loj zoo li qub( Txoj hlua[] args )

{

byte[] buffersz = tshiab los ntawm[1024];

sim{

//Tsim cov input thiab tso zis ntau

FileoutStream floutstr = tshiab Fileoutpstream(“FileArchive.zip”);

ZipOutStreStream zpoutstr = tshiab ZipoutstreAm(nplooj ntoos);

//Ntxiv cov ntaub ntawv yuav tsum compressed

Neeg zipentry = tshiab Zipentry(“xub thawj.txheej”);

zpoutstr.putNextentry(neeg txom nyem);

//Tsim cov ntaub ntawv input stream

FileInStream finstream = tshiab FileinStream(“xub thawj.txheej”);

//Sau tau rau cov zip tso zip tso zis

ntxhov;

Thaum ((lenstrm = finstr.nyeem.nyeem(buffers)) > 0) {

sau zajlus...(buffers, 0, cev qhuav dej);

}

//Kaw cov ntaub ntawv kaw input stream

ze ntawm();

//Ze zip tso zip tso zis thiab nkag teb chaws

peevxwm.closery();

kaw tseg();

System.out.println(“Thov nyuaj siab ua tau zoo”);

}ntes(IOException ex){

ex.printStackTrace();

}

}

}

[/chaws]

Tom qab qhov kev pab cuam Java compiled thiab tseg, Ib daim ntawv teev cov ntaub ntawv yuav tsum tsim rau tib qhov chaw. Tam sim no, Xyaum daim ntawv thiab koj yuav nrhiav tau cov ntaub ntawv 'xub thawj.' cia rau hauv.

Tom qab kev tshuaj ntsuam qhia tau hais tias cov zis tso zis thiab lwm yam lus raws li piav saum toj no.

Data Compression

Duab 1: Qhia tau hais tias cov lus tsis txaus siab tso zis

Daim ntawv qhia txog cov lus piv txwv:

Hauv qhov ua piv txwv, Peb yuav xyuas seb yuav ua li cas yuav decompress ib daim ntawv los ntawm ib tug zip zip. Peb yuav siv tib zip zauv saum toj no 'FileArchive.' thiab cog lus raws li cov lus cog tseg. Nws yuav extract cov ntaub ntawv 'FileArchive.' tso zis directory.


 

Qhia 2: Daim ntawv qhia txog kev siv Java

[chaws]

ntshuam java.io.File;

ntshuam java.io.FileInputStream;

import java.io.FileOutputream;

ntshuam java.io.IOException;

ntshuam java.util.List;

import java.zip.zip.Zipentry;

import java.zip.zip.ZipInpinStream;

Pej xeem hoob kawm FileDecompress

{

Sau<Txoj hlua> listofiles;

qhov teev kawg nkaus ZIP_FILE_INPUT = “FileArchive.zip”;

qhov teev zaum kawg ZIP_OUTPT_FLDR = “Zipout”;

pej xeem tsis muaj dabtsis loj zoo li qub( Txoj hlua[] args )

{

FileDecompress unZipFile = tshiab FileDecompress();

unzipFile.unZipFile(ZIP_FILE_INPUT,ZIP_OUTPT_FLDR);

}

pej xeem tsis txhob unZipFile(Txoj hlua kauj ruam, Hlua chim heev){

byte[] bufferlen = tshiab los ntawm[1024];

sim{

//Tsim kom muaj tso zis/thawj tswj (yog tsis muaj)

Foldernm = ntaub ntawv tshiab(ZIP_OUTPT_FLDR);

Yog hais tias(!folderm.tshwm sim()){

qaib folderm.mkdir();

}

//Muaj ntaub ntawv txheej txheem

ZipinStreStream zipinstrm = tshiab Zipinputstream(FileInputStream tshiab(neeg xiam oob khab));

//Tau daim ntawv sau npe

Neeg zipentry = zipinstrm.getNextentry();

Thaum(neeg txom nyem!= thov){

FileNm = zipentry.tauname();

Cov ntaub ntawv newFileName = ntaub ntawv tshiab(outfldr + Ntaub ntawv.separator + nyaj xeeb);

System.out.println(“Unzipped koob meej yog : “+ NewFilename.getAbsoleFile());

FileoutStream foutstrm = tshiab FileOutputream(newFilename);

ntxhov;

Thaum ((Lenstrm = zipinstrm.nyeem(bufferlen)) > 0) {

sau zaj duab xis...(bufferlen, 0, cev qhuav dej);

}

ze ntawm();

zipentry = zipinstrm.getNextentry();

}

zipinstrm.closeentry();

zipinstrm.clos();

System.out.println(“Cov ntaub ntawv decompressed ntse”);

}ntes(IOException ex){

ex.printStackTrace();

}

}

}

[/chaws]

Tam sim no compile thiab coj cov ntaub ntawv Java ua raws li qhia hauv qab no. Nws yuav tsim ib qho tso zis directory thiab muab cov ntaub ntawv extracted muaj. Tom qab kev tshuaj ntsuam qhia tau hais tias cov lus.

Data decompression

Duab 2: Qhia tau hais tias cov ntaub ntawv decompression tso zis

Xaus:

Cov ntaub ntawv qhia thiab kev nyuaj siab yog ib qho tseem ceeb heev rau tej daim ntawv thov software. Os, Peb tau tham txog Java APis uas yuav siv tau rau lub hom phiaj tib yam. Peb muaj kuj tham txog tej ntsiab lus yooj yim ntaub ntawv thiab seb nws yog tiav. Java piv txwv kuj piav rau cov ntaub ntawv compression thiab decompression. Kuj muaj ntau lwm txoj kev los ua ib yam hauj lwm tib yam, tab sis cov qauv ua piv txwv no yuav pab koj nkag siab txog tej yam yooj yim thiab kev siv nyiaj txiag hauv koj daim ntawv thov kev pab.

 

============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share