【正文】
關(guān)鍵代碼如下: public static void loadDownInfo() throws Exception { FileInputStream fis = null。 ) { 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 30 //synchronized 關(guān)鍵字用于同步每個(gè)線程下載 synchronized () { = + len。 此模塊的關(guān)鍵點(diǎn)在于設(shè)定 HTTP 請求頭(用于分塊下載): (RANGE,bytes )。 } } catch (FileNotFoundException e) { ()。 //構(gòu)建文件輸入流 rand=new RandomAccessFile(, rw)。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 26 模塊流程 分析 在 Download 模塊中,系統(tǒng)首先要取得資源的網(wǎng)絡(luò)連接,然后獲得其響應(yīng)碼。 (440, 200, 70, 30)。 cont = ()。 fireTableDataChanged()。如設(shè)定文件大小。 } //得到表格總的行數(shù) public int getRowCount() { return ()。 for(int i=0。 //設(shè)置進(jìn)度條水平放置 ()。 =new DownTableModel(table)。‖ 最后在 DOS 下進(jìn)行測試:輸入 java 、 javac、 java –version 等命令,分別輸出如圖 ,圖 ,圖 則表示配置成功。 Download: 做下載前的準(zhǔn)備,包括連接資源,實(shí)現(xiàn)多線程,分配每個(gè)線程的下載量。在此單線程的工作模式下,如果把CPU 看作是一共有 100 個(gè)時(shí)間片的話, CPU 可能一直都只是花了其中的 10 個(gè)時(shí)間片來處理當(dāng)前進(jìn)程所要做的事情,只是用到了 CPU 的 10%的時(shí)間片,而其他時(shí)間都白白浪費(fèi)了,當(dāng)然,實(shí)際上 CPU 的工作模式還是做完一件事以后再去做另一件事,只是 CPU 的處理速度非??欤芸炀吞幚硗瓿伤埱蟮那槭?。它以抽象窗口工具包( AWT)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。 304未修改??蛻舳嗽谑盏匠R?guī)響應(yīng)之前,應(yīng)準(zhǔn)備接收一個(gè)或多個(gè) 1xx 響應(yīng)。主要介紹本課題的背景和意義。downloader。 科 技 大 學(xué) 畢 業(yè) 設(shè) 計(jì)( 論 文 ) 題目 基于 HTTP 的多線程下載器 作者 學(xué)院 專業(yè) 學(xué)號 指導(dǎo)教師 科 技 大 學(xué) 畢業(yè)設(shè)計(jì)(論文)任務(wù)書 1 設(shè)計(jì)(論文)題目及專題: 基于 HTTP 的多線程下載器 2 學(xué)生設(shè)計(jì)(論文)時(shí)間:自 20xx 年 1 月 5 日開始至 20xx 年 6 月 6 日止 3 設(shè)計(jì)(論文)所用資源和參考資料: [1] 李鐘尉,馬文強(qiáng),陳丹丹 .Java 從入門到精通 [M].清華大學(xué)出版社,20xx 年 [2] 孫衛(wèi)琴 .Java 面向?qū)ο缶幊蹋?Java 開發(fā)專家) [M].電子工業(yè)出版社, 20xx年 [3] 克里舍納姆塞 ,范群波 .Web 協(xié)議與實(shí)踐( 網(wǎng)絡(luò)協(xié)議緩存技術(shù)和流量測量) .科學(xué)教育出版社 4 設(shè)計(jì)(論文)應(yīng)完成的主要內(nèi)容: 設(shè)計(jì)并實(shí)現(xiàn)基于紅彤彤批協(xié)議的多線程下載器,實(shí)現(xiàn)了斷點(diǎn)續(xù)傳、回收站、懸浮窗等基本功能。 Java。 第二章,系統(tǒng)開發(fā)相關(guān)概念和理論。 100繼續(xù)。 307臨時(shí)重定向。 Swing開發(fā)人員只用很少的代碼就可以利用 Swing 豐富、靈活的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面。 采用多線程可以很明顯的提高 CPU 的利用率。 DownloadThread: 實(shí)現(xiàn)下載,并進(jìn)行數(shù)據(jù)流的 I/O 操作。 圖 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 14 圖 圖 第二步:安裝 Eclipse 從網(wǎng)站 Eclipse 版本,解壓至相應(yīng)的位置。 ()。 return this。irow。 } public int getColumnCount() { //得到表格總的列數(shù) return 。同樣需要更新的還有:連接線程狀態(tài),是否完成,下載百分比, 剩余時(shí)間等。 //更新表格 } } NewDownload 模塊設(shè)計(jì) 模塊流程分析 根據(jù)需求分析 ,當(dāng)用戶點(diǎn)擊新建下載按鈕,則系統(tǒng)彈出一個(gè)新建下載對話框,里面包含一個(gè)輸入 url 的文本框,一個(gè)保存地址的文本框,一個(gè)保存文件名的文本框。 (null)。 //定義按鈕的監(jiān)聽事件 (new Cancel_AND_Sure_Lisener())。再根據(jù)響應(yīng)嗎的值選擇下載模式。 [0]=new DownloadThread(this, 0, , 0, ,rand)。 } } } 啟動(dòng) 線程的下載 ,關(guān)鍵代碼如下: //開始下載 public void beginDownload(){ for(int i=0。 //bytes為一個(gè)字符串: bytes=+(+)+ 。 //將讀取內(nèi)容寫入文件 (b, 0, len)。 // 創(chuàng)建文件輸入流 fis = new FileInputStream(new File(E:/Workspaces/Eclipse/FinishDownload/properties/))。 } catch (IOException e) { } } 當(dāng)系統(tǒng)啟動(dòng)時(shí) ,從文件中導(dǎo)入未完成下載任務(wù)。amp。 } DownloadThread 模塊的設(shè)計(jì) DownloadThread 模塊主要用于進(jìn)行具體下載的操作,如創(chuàng)建每個(gè)線程對目的文件連接,設(shè)定每個(gè)線程不同時(shí)刻的下載開始點(diǎn)和結(jié)束點(diǎn),同時(shí)對 I/O 流進(jìn)行操作,及時(shí)存儲(chǔ)文件的下載信息。 }else{ //分配每個(gè)線程的下載起始點(diǎn)和結(jié)束點(diǎn) [i]=new DownloadThread(this, i, i*dataLen, i*dataLen+dataLen,ran_i)。 RandomAccessFile rand=null。 } } } } Download 模塊的設(shè)計(jì) Download 模塊主要包含如下幾個(gè)子模塊: 獲得下載連接和選擇下載模式(單線程或多線程)、創(chuàng)建下載線程和分配每個(gè)線程下載塊的大小、啟動(dòng)線程下載、計(jì)算每個(gè)線程已下載的大小和獲取已經(jīng)完成的線程的數(shù)量。 (350, 200, 70, 30)。 ()。 //從 table中移除該行 //從全局界面的 download集合中移除該下載對象 Download down=(i)。 } 當(dāng)啟動(dòng)一個(gè)下載任務(wù),系統(tǒng)必須給表格動(dòng)態(tài)的設(shè)定一些列的值。 public DownTableModel(JTable table) { //構(gòu)造函數(shù) = table。 //刪除下載監(jiān)聽事件 (new ActionListener() { public void actionPerformed(ActionEvent e) { int row=()。 // 設(shè)置進(jìn)度條的顏色為藍(lán)色 //該屬性確定進(jìn)度條是否應(yīng)該呈現(xiàn)進(jìn)度字符串 (true)。 //定義 table table=new JTable()。% JAVA_HOME%\lib。 NewDownload: 創(chuàng)建新建下載的頁面,定義新建下載頁面的監(jiān)聽事件。 多線程的優(yōu)點(diǎn) CPU 是以時(shí)間片的方式為進(jìn)程分配 CPU 處理時(shí)間的,當(dāng)一個(gè)進(jìn)程以同步的方式去完成幾件事情時(shí),此進(jìn)程必須完成了第一件事情以后再做第二件事,如此按順序地向 CPU 請求完成要做的事情。 Swing 簡介 Swing 是一個(gè)用于開發(fā) Java 應(yīng)用程序用戶界面的開發(fā)工具包。 302對象已臨時(shí)移動(dòng)。 charset=GB2312 附:響應(yīng)狀態(tài)碼的具體描述: 1xx信息提示 這些狀態(tài)代碼表示臨時(shí)的響應(yīng)。 本論文具體章節(jié)安排如下: 第一章,引言。 關(guān)鍵詞 : HTTP;下載器; Java;多線程 ii ABSTRACT In today’s inter times, the downloader is the necessary tools for people. Now there are a lot of mainstream downloaders, such as the thunder,EasyMule,qq whirlwind and so on. Undoubtedly, all of these downloaders used the Multithread. The socalled thread program is the smallest unit of execution flow. Thread can be simple to understand as a download channel. So, single thread is to download with a single download channel, and downloading with multithread is to download with a lot of download channel at the same time. When a user selects a multithread download, download device will download resources according to the number of threads . Then download resources to local place at the same time. Obviously Multithread take a higher CPU utilization than single thread, so it can improve download speed. HTTP namely hypertext transfer protocol, it is a kind of detailed munication regulations between the world wide web server and browser, it is a data transfer protocol which can through the Inter transmitting the world wide web document transmission. HTTP is a mon work protocol. If you want to get to the Inter, the most basic is to follow the HTTP protocol. I use java program development language and eclipse development tool in my graduation design. This subject mainly introduces the principle and method to realize the multithread download process and break point transmission under HTTP work environment .It can help users to have a deeper understanding about downloader and how to use download tools better. Keywords: HTTP。 5 提交設(shè)計(jì)(論文)形式(設(shè)計(jì)說明與圖紙或論文等)及要求: ( 1)論文思路清晰,條理清楚,中心突出,內(nèi)容充實(shí), 論據(jù)充分,結(jié)構(gòu)緊湊,層次分明,圖表清晰,格式規(guī)范,結(jié)論正確;按《湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)要求與規(guī)范》編排、打印文稿; ( 2)上交論文(紙質(zhì))打印文稿和系統(tǒng)源碼(電子版); 6 發(fā)題時(shí)間: 年 月 日 指導(dǎo)教師: (簽名) 學(xué) 生: (簽名) X X 科 技 大 學(xué) 畢業(yè)設(shè)計(jì)(論文)指導(dǎo)人評語 [主要對學(xué)生畢業(yè)設(shè)計(jì)(論文)的工作態(tài)度,研究內(nèi)容與方法,工作量,文獻(xiàn)應(yīng)用,創(chuàng)新性,實(shí)用性,科學(xué)性,文本