Bài Tập Lớn Java

Embed Size (px)

DESCRIPTION

bài tập lớn

Citation preview

B GIO DC V O TOTRNG I HC GIAO THNG VN TI - CS 2----------

BI TP LN MNCNG NGH JAVA

Ti : PHN MM NN V GII NN

Sinh vin thc hin: M SV :NGUYN CNG DANH5451074025 MINH HONG5451074039

Lp : CNG NGH THNG TIN K54

Ging vin hng dn: KS. L NHT TNG

H Ch Minh, 5/2015

B GIO DC V O TOTRNG I HC GIAO THNG VN TI - CS 2----------

BI TP LN MNCNG NGH JAVA

Ti : PHN MM NN V GII NN

Sinh vin thc hin: M SV :NGUYN CNG DANH5451074025 MINH HONG5451074039

Lp : CNG NGH THNG TIN K54

Ging vin hng dn: KS. L NHT TNG

H Ch Minh, 5/2015

LI M U

Cng ngh thng tin ngy cng c vai tr quan trng trong trong cuc sng hng ngy ca chng ta.Vic ng dng CNTT vo cc lnh vc trong i sng gip cng vic c tin hnh nhanh chng v hiu qu hn.Ngy nay nhu cu trao i thng tin qua mng rt ph bin nhng vic trao i d liu c kch thc ln rt kh khn, i hi phi c phng php h tr vic trao i tr nn thut tin hn.

T nhu cu trn, chng em s dng vn kin thc hc t thy c, bn b v s tm hiu ca bn thn mi c nhn trong nhm i ti vic to phn mm Nn V Gii Nn File. Mc ch c bn l nn tp tin li sao cho thun tin cho vic trao i cng nh lu tr,ngoi ra chng trnh cn c mt mc con na l ct v ni file. Ngy nay, khng ch c nn file c th gip cho qu trnh trao i thun tin m ct v ni file cng gp phn khng nh vo qu trnh . i vi mt tp tin ln th vic chia nh chng ra ri nn li v thc hin qu trnh trao i vn chuyn tr nn d dng hn nhiu. cng chnh l mc tiu cui cng m phn mm ny mun hng ti. Tri qua cc cng on th phn mm c xy dng xong v c c kt li trong bi bo co ny. Phn mm ch mang tnh cht th nghim hc hi , trao i kinh nghim.

ti gm cc chng: Chng I: TNG QUAN TI Chng II: CHNG TRNH

Tuy rt c gng hc hi da trn kin thc hc nhng phn mm vn khng th trnh khi nhng sai st. Knh mong qu thy c cng bn b thng cm v gp nhm kp thi lp kn nhng l hng kin thc v phn mm t hiu qu cao hn.

TP.HCM,thng 5/2015Nhm thc hin

Minh Hong Nguyn Cng Danh

Mc Lc

LI M U3CHNG I:51.Nhim v ca ti:52.Mc tiu v yu cu ca ti:5CHNG II:6I.C S L THUYT.61.C ch nn v gii nn tp tin Zip.62.Hin thc ho code.93.Demo:19

CHNG I:TNG QUAN TI1. Nhim v ca ti: Tm hiu c cu nn v gii nn tp tin bng th vin java.util.zip Tm hiu c cu ct v ni tp tin Hin thc ho code.2. Mc tiu v yu cu ca ti: Mt phn mm nn v gii nn cn cc chc nng c bn sau: i vi nn file: Cho php to mi li chng trnh qua thao tc new. Thm tp tin vo danh sch cc tp tin nn. Xo khi danh sch tp tin khng mun nn Phi nn c cc tp tin yu cu v dung lng c th nh hn hoc bng dung lng ca tp tin gc. Giao din r rng d s dng. C hng dn c th. Thng bo khi hon tt. i vi gii nn: Cho php to mi li chng trnh qua thao tc new. Thm tp tin vo danh sch mun gii nn. Gii nn ra y cc file Yu cu phi l file c ui .zip v chng trnh ch h tr tp tin c ui .zip Giao din r rng. C hng dn c th. Thng bo khi hon tt chng trnh. Mt phn mm ct ni file cn c cc chc nng sau: i vi ct: Cho php to mi chng trnh qua thao tc new. Giao din r rng d s dng. Ct c tt c cc file c dung lng ln v nh. c php chn th loi ct nh: ct theo s phn hoc dung lng. C hng dn c th. Thng bo khi hon tt chng trnh. i vi ni: Cho php to mi. Giao din r rng. Ni cc file c nh du bng s 1 u tin. T ng tm v ni cc part tip theo cho ti khi hon tt. Tr li dung lng bng ng dung lng ca file gc. Khng b h hng. C hng dn c th.

CHNG II:CHNG TRNHI. C S L THUYT.1. C ch nn v gii nn tp tin Zip.a) C s nn tp tin. V bn cht th File nn l kh phc tp v kh hiu, l kt qu ca kh nhiu cng on c sng ch bi nhng con ngi rt thng minh. Zip s dng c ch Lossless s l cc vn v nn v gii nn. V c bn, kiu nn Lossless s dng thut ton n gin cc phn d liu d tha, khng cn thit v khng lm mt d liu. d hnh dung hn, bn c th tng tng chng gch xp hnh di y i din cho mt d liu y .

Bn c th thy y chng ta c hai khi gch mu , nm ci mu vng v ba mu xanh. Cc vin gch cng mu i din cho cc phn d liu ging nhau v lp li. Tuy nhin khng phi cch thc duy nht i din cho d liu, c th thay i chng nh hnh di.

Trong hnh ny, bn ch cn mt thut ton ch thch v ba khi gch i din cho 10 khi gch trn. Bn vn c y thng tin v cc loi gch bao gm mu , vng v xanh v s lng ca chng. Trong khi khng gian c gim i ng k. V d n gin ny cho bn mt khi nim c bn v kiu nn Lossless, cc thng tin ging nhau c thay th bng mt thng tin i din v thut ton cho bit s lng ca chng. Mt v d n gin khc: bn c mt on d liu nh sau "fffffffuuuuuuuuuuuucc" v sau khi nn kiu Lossless n s thnh "f7u12c2".

Tuy nhin c rt nhiu dng nn Lossless c s dng cc thut ton khc nhau, trn y ch l mt dng n gin trong s .Nhng v bn cht, cc d liu sau khi c nn u c th ti to li ton b nh d liu ban u sau khi gii nn, khng c mt mt v thay i g. Cc phn mm nh WinZip u da trn kiu nn Lossless ny, cc file d liu sau khi b nn s c dung lng nh hn, tuy nhin sau khi gii nn d liu s c khi phc li nh ban u, khng c phn d liu no b mt i. Trong cc file hnh nh, PNG cng l mt nh dng c nn theo kiu Lossless.b) Trong java. Java h tr nn file thng qua th vin java.util.zip v java.util.jar ng tic l th vin ny khng th c v gii nn cc nh dng ph bin khc nh rar, hoc 7zip. gii s l cc nh dng rar, 7zip, .. cn c mt th vin khc. S

Java.util.zip coi cc file trong file zip l cc ZipEntry.datas.zipDocument.docxJava.docxData.docxUntulyty.pngReadme.txt

ZipEntry

2. Hin thc ho code.a) Thut ton: i vi nn: Input: ng dn n th mc, ng dn lu th mcOutput: file c nn. Bc 1: Nhp ng dn th mc hoc tp tin nn, ng dn lu file nn. Bc 2: To th mc cha cho file output outputZipFile.getParentFile().mkdirs(); Bc 3: Ly tt c danh sch cc th mc con trong th mc va chn nu n l th mc List allFiles = this.listChildFiles(inputDir); Bc 4: To ng dn v y vo ZipEntry. ZipEntry ze = new ZipEntry(entryName); Bc 5: c d liu file cn zip v ghi vo lung zip. Bc 6: Ghi d liu c c xung lung ZipOutputStream cho n khi s byte c c < 0. Bc 7: ng file. i vi gii nn: Bc 1: To b lc lung vo ZipInputStream t FileInputStream v ng dn file nn.ZipInputStream zis = new ZipInputStream(new FileInputStream(filepath)); Bc 2: To ZipEntry gn vi i tng ca ZipInputStream.ZipEntry ze = zis.getNextEntry(); Bc 3: To file mi t ng dn, tn file ly t ZipEntry v dng output t file.String fileName = ze.getName();File newFile = new File(filedest1 + File.separator + fileName);new File(newFile.getParent()).mkdirs();FileOutputStream fos = new FileOutputStream(newFile); Bc 4: c d liu t dng zis v ghi xung dng ra fos.write(buffer, 0, len); Bc 5: len < 0 dng vic ghi, y ze ln i tng tip theo ze = zis.getNextEntry(); Bc 6: ze != null dng vic ghi v ng file. i vi ct file: Bc 1: Nhp ng dn file ch, ng dn lu file v s phn hoc dung lng. Bc 2: Ly kch thc ca tp tin int sizeOfFile = (int) fS.length(); Bc 3: Nu check_Part true, tnh s lng file ct bng sizeOfFileCut = (sizeOfFile / sizeSplit);Ngc li, nu false th check_data c nhn, tnh kch c dung lng cn ct: int MB_File = sizeOfFile / (1024 * 1024);sizeOfFileCut = MB * 1024 *1024; Bc 4: Gn s byte ban u bng s phn hoc s MB cn ct bt u vic c ghi: int byteRemainder = sizeSplit; Bc 5: c ton b thng tin t file ln b m, gn bng byteReadbyteRead = bis.read(bytes) Bc 6: Ghi xung b m dch bos.write(bytes, 0, byteRead); gim s phn c xung bng cch tr i s byte thc c byteRemainder - = byteRead; Bc 7: Lp li bc 6 cho ti khi byteRemainder < 0 thot v ng file. i vi ni file: Bc 1: Nhp ng dn file ngun, file ch. Bc 2: Nu file c tn ti, bt u lp. Bc 3: Nu s byte c c khc -1 th ghi xung b m gn vi file u ra, tng ch s m file ln 1 Bc 4: nu file k tip k tn ti, dng vic c, ng file, kt thc.b) M ho Nn file Hm chnh:

Hm ph: ng file

Hm ph: load tt c cc file con trong th mc cha.

i vi gii nn: Hm chnh:

X l s kin:

Hm main:

i vi ct file: Hm chnh:

i vi ni:

X l s kin:

3. Demo:

20

z

z