資源描述:
《基于java的多線程下載工具研究與實(shí)現(xiàn)new》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、ISSN1009-3044E-mail:xsjl@cccc.net.cn第Com6p卷第uterK36now期ledge(2010andTec年hno12logy月電腦知識(shí))與技術(shù)ComputerKnowledgeandTechttp://www.dnzs.net.cnhnology電腦知識(shí)與技術(shù)Vol.6,No.36,December2010,pp.10301-10303Tel:+86-551-56909635690964基于Java的多線程下載工具研究與實(shí)現(xiàn)王逢州(徐州工程學(xué)院信電學(xué)院,江蘇徐州221008)摘要:
2、目前,隨著計(jì)算機(jī)技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的高速發(fā)展,人們對(duì)計(jì)算機(jī)網(wǎng)絡(luò)資源的依賴性越來越大,獲取網(wǎng)絡(luò)信息資源已經(jīng)成為我們使用計(jì)算機(jī)的主要目的,而網(wǎng)絡(luò)資源的下載又是實(shí)現(xiàn)這一目的的重要途徑和必要手段。該文在Java網(wǎng)絡(luò)和多線程技術(shù)的基礎(chǔ)上,提出了一個(gè)簡(jiǎn)單而實(shí)用的文件分割算法,并據(jù)此設(shè)計(jì)開發(fā)了一個(gè)的簡(jiǎn)單實(shí)用的網(wǎng)絡(luò)資源下載工具,使用該下載工具可以實(shí)現(xiàn)對(duì)多種格式的網(wǎng)絡(luò)文件的瀏覽和下載。關(guān)鍵詞:J2SDK;網(wǎng)絡(luò)編程;多線程;網(wǎng)絡(luò)下載中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2010)36-10301-03Rese
3、archandRealizationofMulti-threadedNetworkDownloadBasedonJavaWANGFeng-zhou(DepartmentofInformationandElectricalEngineering,XuzhouInstituteofTechnology,Xuzhou221008,China)Abstract:Withcomputertechnologyandhigh-speedcomputernetworktechnologydevelopment,peopledepend
4、entoncomputernet-workresourcesmoreandmore,gettingnetworkinformationresourceshavebecomethemainpurposeoftheuseofcomputerandnet-work.Downloadistheimportantwaysforthispurpose.ThispaperdesignaalgorithmstorealizeasimpleandusefuldownloaderbasedontheJavatechnology.Wecan
5、getalltypefilesonthenetworkbythissoftware,includeweb,text,imageorMP3.Keywords:J2SDK;networkprogramming;multi-threaded;networkdownload隨著計(jì)算機(jī)技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)已成為人們獲取信息的重要途徑之一。其中網(wǎng)絡(luò)資源的下載和網(wǎng)頁瀏覽已經(jīng)成為人們生活中不可或缺的信息獲取手段。目前比較流行的網(wǎng)絡(luò)下載工具有網(wǎng)際快車、迅雷、網(wǎng)絡(luò)傳送帶、脫兔、超級(jí)旋風(fēng)。其開發(fā)工具的使用多為VB、VC++等等,
6、這樣的下載工具安裝時(shí)通常要修改注冊(cè)表信息,且對(duì)于計(jì)算機(jī)資源的消耗較大,同時(shí)操作流程略顯得復(fù)雜。Java技術(shù)的出現(xiàn)使得面向?qū)ο缶幊虘?yīng)用達(dá)到了一個(gè)新的高度。Java程序設(shè)計(jì)語言在目前的核心應(yīng)用是在網(wǎng)絡(luò)編程和移動(dòng)編程上,這主要是因其具有很好的平臺(tái)無關(guān)性、魯棒性、純面向?qū)ο笮缘忍攸c(diǎn)。本文在研究和分析現(xiàn)有網(wǎng)絡(luò)資源下載軟件的基礎(chǔ)上,從算法入手,綜合了Java的網(wǎng)絡(luò)編程和多線程編程技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)簡(jiǎn)單易用的網(wǎng)絡(luò)多媒體下載工具,使其同時(shí)具有網(wǎng)頁瀏覽和資源多線程下載的主要功能。1Java的多線程和網(wǎng)絡(luò)編程技術(shù)從多線程技術(shù)角度講,J
7、ava環(huán)境本身就是多線程的。一方面,若干個(gè)系統(tǒng)線程運(yùn)行負(fù)責(zé)必要的無用單元回收,系統(tǒng)維護(hù)等系統(tǒng)級(jí)操作;另一方面,Java語言內(nèi)置多線程控制,可以大大簡(jiǎn)化多線程應(yīng)用程序開發(fā)。[1]在Java中實(shí)現(xiàn)多線程有兩種方法:第一種方法是繼承Thread類,覆蓋方法run()。即創(chuàng)建Thread類的子類并重寫run()方法,加入線程所要執(zhí)行的代碼即可。這種方法簡(jiǎn)單明了,但是它有一個(gè)很大的缺點(diǎn),就是一個(gè)類已經(jīng)繼承了另一個(gè)類(如小程序必須繼承自Applet類),則無法再繼承Thread類。第二種方法是實(shí)現(xiàn)Runnable接口。Runnab
8、le接口只有一個(gè)方法run(),需要聲明自己的類來實(shí)現(xiàn)Runnable接口并提供這一方法,將線程代碼寫入其中,就完成了這一部分的任務(wù)。但是Runnable接口并沒有任何對(duì)線程的支持,我們還必須創(chuàng)建Thread類的實(shí)例,這一點(diǎn)是通過Thread類的構(gòu)造函數(shù)publicThread(Runnabletar-get)來實(shí)現(xiàn)的。[2]從J