freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于http協(xié)議的斷點(diǎn)續(xù)傳應(yīng)用系統(tǒng)開(kāi)發(fā)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)(參考版)

2025-07-06 20:17本頁(yè)面
  

【正文】 try { 。 (id)。 oos2 = ()。 = subThreadCount。 = start。 下載文件 public DownLoadThread(int id, String urlAddress, String savePosition, long start, long end, int subThreadCount) { (id+id+,start: + start + ,end: + end)。 HttpURLConnection 實(shí)例都可用于生成單個(gè)請(qǐng)求 ,再通過(guò)實(shí)例調(diào)用 getFileName 方法和 getContentLength 方法來(lái)獲取文件名大長(zhǎng)度。 } } 它的作用是 從下載 URL 地址中文件名和文件長(zhǎng)度。 = 3。 } catch (IOException e2) { (資源 [ + tmp + ]連接錯(cuò)誤! )。 = 2。 } } catch (MalformedURLException e1) { (資源 [ + tmp + ]格式錯(cuò)誤! )。 // 獲取 MIME 列表 = getMIME()。 }// 獲取文件名 = getFileName()。 } else { (資源 [ + tmp + ]文件大小為 ( / 1024 * 100) / + k。// 獲取文件長(zhǎng)度 = ()。 = tmp_URL。 return r。 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 23 = null。// 建立連接 HttpURLConnection = (HttpURLConnection) tmp_URL .openConnection()。 try { (正在連接 URL[ + tmp + ])。 建立連接 并獲取下載信息 public static TestResult TestURL(String tmp) { TestResult r = new TestResult()。 系統(tǒng) 下載功能的 實(shí)現(xiàn) 按照功能劃分,下載過(guò)程可以分為 兩 部分, 即建立連接 并 讀取待下載文件的信息、下載文件 。 系統(tǒng) 功能模塊設(shè)計(jì) 本系統(tǒng) 分為五個(gè)功能模塊,分別為下載任務(wù)實(shí)體類模塊、系統(tǒng)工具類模塊、線程下載類模塊、下載任務(wù)總 控制模塊、用戶界面模塊。用戶單擊“刪除任務(wù)”按鈕可以刪除選中的任務(wù),可以多選。所以每當(dāng) 用戶退出程序時(shí),程序都會(huì)自動(dòng)保存當(dāng)前的所有任務(wù)下載信息,做到“斷點(diǎn)續(xù)傳”的可視化。 圖 系統(tǒng)基本 流程圖 新建完任務(wù)后,用戶還可以繼續(xù)添加下載的任務(wù)。 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 21 第四章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 系統(tǒng) 基本 流程 該系統(tǒng)基本 流程(如圖 所示): 運(yùn)行程序后,可以在主界面上輸入 URL 地址、保存地址也可以在文件菜單中新建一個(gè)任務(wù),然后在 URL 地址欄中輸入 HTTP地址,用戶可以選擇需要下載的線程數(shù),程 序還提供下載彈出窗體保存位置的選擇,而且每當(dāng)新建一個(gè)新的任務(wù)時(shí),程序會(huì)自動(dòng)載入默認(rèn)的存儲(chǔ)位置,不需要用戶反復(fù)的輸入地址。 在本系統(tǒng)的實(shí)現(xiàn)過(guò)程中主要涉及兩部分 Java 流操作,一個(gè)是從打開(kāi)的 URL 連接中獲得網(wǎng)絡(luò)的輸入流,一個(gè)是向文件寫(xiě)入內(nèi)容的輸出流。 void write(byte [ ] buffer)。這些操作與 InputStream 類的 read( )方法相對(duì)應(yīng) [20]。注意,流必須支持標(biāo)記功能。 void mark( int readlimit),在支持標(biāo)記的輸入流的當(dāng)前位置設(shè)置一個(gè)標(biāo)記。 long skip(long n),在輸入流中跳過(guò) n 個(gè)字節(jié),將實(shí)際跳過(guò)的字節(jié)數(shù)返回。 ? 輸入流的其他方法如下: void close( ),關(guān)閉流。如果傳給方法的參數(shù)為 null,則拋出 NullPointerException 異常。在讀取完輸入數(shù)據(jù)或是檢測(cè)到流尾時(shí),才從本方法返回。如果到達(dá)流的末尾,則方法的返回值為 1.如果 I/O 發(fā)生錯(cuò)誤,將拋出 IOException 類型的異常。 ? 輸入流的基本方法如下: read( ),這個(gè)方法在 InputStream 類中是抽象的,因此它必須定義在子類中。在 包中, InputSteam 和 OutputStream 類及它們的子類均表示字節(jié)流,并且提供了讀 /寫(xiě)二進(jìn)制數(shù)據(jù)的方法。因此,從包含文本的字符流中讀取數(shù)據(jù)比直接讀取二進(jìn)制數(shù)據(jù)涉及更多的工作 [19]。所有二進(jìn)制數(shù)據(jù)在寫(xiě)向字符流之前必須轉(zhuǎn)換為字符流能夠接受的表達(dá)形式。Java 其內(nèi)部將字節(jié)符存儲(chǔ)為 16 位的 Unicode 碼字符,因此每個(gè) Unicode 碼字符可以寫(xiě)成 2 個(gè)字節(jié)的二進(jìn)制流,先寫(xiě)高 8 位。當(dāng)向字節(jié)流寫(xiě)數(shù)據(jù)時(shí),數(shù)據(jù)以字節(jié)序列的形式寫(xiě)入流,與它在內(nèi)存中的形式一樣,數(shù)據(jù)不發(fā)生任 何轉(zhuǎn)換。 包支持兩種類型的流,包括二進(jìn)制數(shù)據(jù)的字節(jié)流和包括字符數(shù)據(jù)的字符流。 ? 節(jié)點(diǎn)流:可以從(向)一個(gè)特定的 I/O 設(shè)備讀(寫(xiě))數(shù)據(jù)的流,節(jié)點(diǎn)流也被 稱為低級(jí)流。 ? 輸出流:只能 向其寫(xiě)入字節(jié)數(shù)據(jù),而不能從中讀取數(shù)據(jù)。 按照流的方向劃分,可以分為輸入流和輸出流。 Java I/O 流技術(shù) 為了進(jìn)行數(shù)據(jù)的輸入 /輸出操作, Java 中把不同的輸入 /輸出源抽象表述為“流”( stream)。 每個(gè)線程都是通過(guò)某個(gè)特定 Thread 對(duì)象所對(duì)應(yīng)的 run( )方法來(lái)完成其操作,因?yàn)?run( )方法中的代碼定義執(zhí)行 線程所需要的功能,所以 run( )方法被稱為線程體。 在調(diào)用 start( )方法時(shí),將創(chuàng)建一個(gè)新的控制線程,新線程進(jìn)入可運(yùn)行狀態(tài),它將向線程調(diào)度器注冊(cè)這個(gè)線程。 示例代碼如下: mythread t = new mytherad( )。 示例代碼如下: class mythread implements runnable { public void run{} { /* 實(shí)現(xiàn)該方法 */} } Thread 類中提供了大量的方法來(lái)控制線程的執(zhí)行過(guò)程。 ( 1) 聲明一個(gè) Thead 類的子類,并覆蓋其 run( )方法。 在 Java 中提供了類 來(lái)進(jìn)行 多線程編程。 多個(gè)線程的執(zhí)行是并發(fā)的,也是在邏輯上“同時(shí)”,而不管是否是物理上的“同時(shí)”。 整個(gè)系統(tǒng)的執(zhí)行流程如圖 所示: 否 下載 是 圖 多線程下載工具執(zhí)行流程圖 關(guān)鍵技術(shù)和難點(diǎn) Java 多線程技術(shù) 多線程是這樣一種機(jī)制,它允許在程序中并發(fā)執(zhí)行多個(gè)指令流,每個(gè)指令 流都被稱為一個(gè)線程,線程間互相獨(dú)立。 總線程控制類 獲取線程數(shù)、所有線程開(kāi)始點(diǎn)結(jié)束點(diǎn) 分割文件并下載 計(jì)算下載的大小 對(duì)線程開(kāi)始關(guān)閉控制 關(guān)閉文件輸 出流 下載文件屬性面板類 應(yīng)用程序主窗口類 添加下載任務(wù)對(duì)話框類 主窗口中按鈕工具條類 界面類 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 17 ? 線程控制模塊:負(fù)責(zé)協(xié)調(diào)控制多個(gè)線程共同完成下載任務(wù) 。 ? 下載任務(wù)定義模塊:負(fù)責(zé)定義要下載的任務(wù)所需要的各種詳細(xì)的信息。體系統(tǒng)的用戶界面由多個(gè)類組成,包括下 載文件屬性面板類、添加下載任務(wù)對(duì)話框、按鈕工具條類等。 其功能定義如下圖 所示: 圖 系統(tǒng)工具類的功能 下載任務(wù)總線程控制類的基本功能分析 下載任務(wù)總線程控制類是整個(gè)程序運(yùn)行的核心,其中并沒(méi)有過(guò)多的邏輯定義,而是對(duì)線程類進(jìn)行控制,分割文件進(jìn)行下載。其功能定義如下圖 所示: 圖 系統(tǒng)工具類的功能 線程下載類的基本功能分析 線程下載類負(fù)責(zé)定義每個(gè)線程具體下載的實(shí)現(xiàn)細(xì)節(jié),該類本身應(yīng)該是一個(gè)線程類,該類定線程的基本信息如線程 id 號(hào),文件下載的開(kāi)始點(diǎn)和結(jié)束點(diǎn)等。此外為了支持?jǐn)帱c(diǎn)續(xù)傳功能,在下載任務(wù)實(shí)體類中還需要定義上次文件下載長(zhǎng)度和當(dāng)前文件已下載長(zhǎng)度。 下載任務(wù)實(shí)體類的基本功能分析 對(duì)于該系統(tǒng)來(lái)說(shuō),就是技術(shù)斷點(diǎn)續(xù)傳的多線程下載工具,下載任務(wù)的所有信息應(yīng)該被定義在一個(gè)實(shí)體類中。 鑒于某些軟件使用初學(xué)者甚至某些電腦初學(xué)者的實(shí)際情況,他們往往需要系統(tǒng)有一個(gè)格外的幫助文檔,使他們能夠更快、更好地學(xué)會(huì)使用斷點(diǎn)續(xù)傳下載軟件,提高效率。還有些特殊情況下,用戶在下載任務(wù)開(kāi)始后由于種種原因希望放棄資源的下載,這就要求下載工具具有刪除任務(wù)的功能了。 隨著使用下載工具的時(shí)間的增長(zhǎng),用戶下載的資源越來(lái)越多,因此在下載列表中的項(xiàng)目也越來(lái)越多,越來(lái)越混亂,因此為了便于管理和用戶使用方便,用戶迫切希望下載工具具有下載文件分類的功能。這些原因都會(huì)導(dǎo)致下載的中斷,但是當(dāng)用戶重新下載資源時(shí)發(fā)現(xiàn)原來(lái)下載的數(shù)據(jù)已經(jīng)消失你還是要回頭再來(lái)。 由于下載資源是一個(gè)過(guò)程,當(dāng)中用到的時(shí)間可能會(huì)很長(zhǎng)。多線程程序設(shè)計(jì)可以很好的解決程序并發(fā)的問(wèn)題。同時(shí)人們也更希望使用更新更快的下載軟件。比如,針對(duì)一些專業(yè)的 論壇 提供了很多相關(guān)資料以方便人們閱讀或了解;還有更多的人希望能過(guò)下載到他們喜歡聽(tīng)得 音樂(lè) 、好看的圖片、喜歡的電影等等。浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 13 第三章 需求分析 及關(guān)鍵技術(shù)和難點(diǎn) 用戶需求分析 隨著 Inter的 發(fā)展 ,進(jìn)入信息時(shí)代后快速獲得 網(wǎng)絡(luò) 共享資源成為很簡(jiǎn)單的事情,人們對(duì)互聯(lián)網(wǎng)也有了很大的依賴性。 開(kāi)發(fā)環(huán)境 操作系統(tǒng): Windows XP、或 Windows 7 視窗操作系統(tǒng) ; 開(kāi)發(fā)平臺(tái) : eclipse 硬件環(huán)境建議: CPU 為 Intel P3 800 以上,至少 256M 內(nèi)存, 10M/100M 自適應(yīng)以太 網(wǎng)卡,網(wǎng)絡(luò)應(yīng)與 Inter 連通,帶寬大于 512K; 最佳瀏覽分辨率: 1024768; 本章小結(jié) 本章 以系統(tǒng)開(kāi)發(fā)的相關(guān)理論 及 技術(shù) 為 基礎(chǔ), 介紹系統(tǒng)開(kāi)發(fā)過(guò)程 中 需要了解 和掌握的理論和技術(shù)。 WEB 服務(wù)器通過(guò)一個(gè) Socket 連接發(fā)送此對(duì)象作為響應(yīng), Head 命令使服務(wù)器給出此對(duì)象的基本描述,比如對(duì)象的類型,大小和更新時(shí)間。 HTTP 協(xié)議最基本的命令有三條: Get、 Post 和 Head。 Spring 的精簡(jiǎn)項(xiàng)目的代碼量方面做出了非常出色的工作,將大量需要重復(fù)書(shū)寫(xiě)的代碼提取出來(lái),進(jìn)行切面編程。一旦收到請(qǐng)求,服務(wù)器(向客戶端)發(fā)回一個(gè)狀態(tài)行,比如 HTTP/ 200 OK,和(響應(yīng)的)消息,消息的消息體可能是請(qǐng)求的文件、錯(cuò)誤消息、或者其它一些信息 [13]。通常,由 HTTP 客戶端發(fā)起一個(gè)請(qǐng)求,建立一個(gè)到服務(wù)器指定端口(默認(rèn)是 80 端口 )的 TCP 連接。 事實(shí)上, HTTP 可以在任何其他互聯(lián)網(wǎng)協(xié)議上,或者在其他網(wǎng)絡(luò)上實(shí)現(xiàn)。在用戶代理和源服務(wù)器中間可能存在多個(gè)中間層,比如代理,網(wǎng)關(guān),或者隧道( tunnels)。應(yīng)答的服務(wù)器上存儲(chǔ)著(一些)資源,比如 HTML 文件和圖像。通過(guò)使用 Web 瀏覽器 、 網(wǎng)絡(luò)爬蟲(chóng) 或者其它的工具,客戶端發(fā)起一個(gè)到服務(wù)器上指定端口(默認(rèn) 端口 為 80)的 HTTP 請(qǐng)求。 HTTP 是一個(gè)客戶端和服務(wù)器 端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)( TCP)。 HTTP 協(xié)議的簡(jiǎn)介 下載文件是電腦與 WEB 服務(wù)器交互的過(guò)程,它們交互的“語(yǔ)言”的專業(yè)名稱是協(xié)議。它允許用戶根據(jù)需要添加視圖,并與允許用戶使用的任何版本控制系統(tǒng)交互。 SWT 是 Java 的 Swing/AWT 的非標(biāo)準(zhǔn)替代者, JFace 則以 SWT 為基礎(chǔ),但更易于使用。工作臺(tái)插件是 Eclipse 提供的用戶界面。 Eclipse 采用動(dòng)態(tài)加載機(jī)制,即只有需要的才加載,這樣可以降低啟動(dòng)時(shí)間,提高資源使用效率 [11]。圖 為 Eclipse 體系結(jié)構(gòu)圖。Eclipse受到廣泛關(guān)注,蜂擁而至的用戶使得其下載服務(wù)器一度阻塞,給業(yè)界帶來(lái)了久違的震撼! IBM趁熱打鐵,在 EclipseCon 20xx上宣布成立一個(gè)獨(dú)立的、非盈利性的基金會(huì),由該基金會(huì)負(fù)責(zé)管理和指導(dǎo) Eclipse開(kāi)發(fā),目前其成員多達(dá)近百家知名公司,其中包括 Borland、 Rational Software、 Red Hat、 Sybase、 Google和 Oracle等業(yè)界巨頭。隨后, IBM于 20xx年 12月向外界宣布,捐贈(zèng)價(jià)值 4千萬(wàn)美元的 Eclipse 源碼給開(kāi)源社區(qū);成立由成員公司組成的 Eclipse 協(xié)會(huì)( Eclipse Consortium),以便支持并促進(jìn) Eclipse開(kāi)源項(xiàng)目。 1998年 11月, IBM專門成立了一個(gè)項(xiàng)目開(kāi)發(fā)小組,開(kāi)始開(kāi)發(fā)該平臺(tái), 20xx年新一代開(kāi)發(fā)平臺(tái)誕生,這就是大家所熟悉的 Eclipse。由于意識(shí)到 Visual Age存在難以擴(kuò)展、底層技術(shù)較為脆弱、很難與 WebSphere Studio軟件集成
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1