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

正文內(nèi)容

文件傳輸協(xié)議的簡單設計與實現(xiàn)-資料下載頁

2025-05-30 22:04本頁面
  

【正文】 。//讀出數(shù)據(jù)while (|| str != null) {if (str != null) {(str + 39。\n39。)。//寫入文件str = ()。}}()。()。()。//釋放資源DefaultMutableTreeNode dd = new DefaultMutableTreeNode(服務器)。 = new JTree(dd)。//新建目錄樹(dd, 0)。//調(diào)用setftree函數(shù)構建樹(0)。//展開根結點().setView()。//將樹插入滾動條} catch (Exception e) {}}}).start()。 下載:if(()==){//下載按鈕事件響應new Thread(new Runnable(){//下載線程public void run() {// TODO Autogenerated method stubif(()!=nullamp。amp。()!=null){String sdirs=new String(().toString().substring(1, ().toString().lastIndexOf(])))。//獲得下載的文件名(get +(, ,/))。//發(fā)送下載請求和文件名String dirs=new String(().toString().substring(1, ().toString().lastIndexOf(])))。//獲得本地保存路徑File re0=new File((, ,/))。if(()){try {s = ()。//監(jiān)聽數(shù)據(jù)is_data = ()。RandomAccessFile accfile = new RandomAccessFile((, ,/)+/+().toString().substring((()).toString().lastIndexOf(,)+1,(()).toString().lastIndexOf(])), rw)。//建立本地相應文件byte[] bytebuffer = new byte[1024]。//建立數(shù)據(jù)緩沖int count = 0。while ((count = (bytebuffer)) != 1) {(bytebuffer, 0, count)。//讀取數(shù)據(jù)寫入本地文件}DefaultMutableTreeNode rootTree2=new DefaultMutableTreeNode((, ,/))。setTree((, ,/),rootTree2)。(rootTree2)。()。//這4句刷新當前目錄的樹視圖(null,new JLabel(下載成功!))。()。()。()。//釋放相應資源} catch (Exception ew) {()。}}else(null, 請選擇一個文件夾用于下載)。}else(null, 請選擇一個文件夾或文件用于下載)。}}).start()。} 上傳:if(()==){//上傳按鈕事件響應try {new Thread(new Runnable() {//上傳線程public void run() {try {if(()!=null){String dirs=new String(().toString().substring(1, ().toString().lastIndexOf(])))。//得到本地文件路徑File re=new File((, ,/))。if(()){(put+().toString().substring((()).toString().lastIndexOf(,)+1,(()).toString().lastIndexOf(])))。//發(fā)送上傳請求和文件名ss = new Socket(sip, 2326)。//建立Socket套接字os = ()。int count。RandomAccessFile f = new RandomAccessFile((, ,/), r)。byte[] bytebuffer = new byte[1024]。//數(shù)據(jù)緩沖while ((count = (bytebuffer)) != 1) {(bytebuffer, 0, count)。//傳送數(shù)據(jù)}(null,new JLabel(上傳成功!))。()。()。()。//上傳成功,關閉相應資源bool = true。File ccf=new File(.)。FileWriter fw = new FileWriter(().substring(0,().indexOf(.))+)。(list)。//請求獲得新的列表s = ()。//監(jiān)聽數(shù)據(jù)is_data = ()。BufferedReader br0 = new BufferedReader(new InputStreamReader(is_data))。String str = ()。//讀取數(shù)據(jù)while (bool||str != null) {if (str != null) {(str + 39。\n39。)。str = ()。}}()。()。()。DefaultMutableTreeNode dd = new DefaultMutableTreeNode(服務器)。ftree = new JTree(dd)。setftree(dd, 0)。//根據(jù)新的列表重構目錄樹(0)。//展開根結點().setView(ftree)。}else(null, 請選擇一個文件!!)。}else(null, 請選擇一個文件!!)。}catch (Exception e) {}}}).start()。}catch (Exception eeee) {()。}}5 調(diào)試過程中出現(xiàn)的問題及相應解決辦法 SOCKET以及SERVERSOCKET的應用問題 由于數(shù)據(jù)傳輸端口只在需要的時候打開并且在傳送完畢后立即關閉,所以經(jīng)常會在關閉之后端口不再打開;而且在登錄失敗時,要斷開控制字端口來避免本地端口的占用。解決辦法:在利用SOCKET以及SERVERSOCKET這兩個類方法的時候,用BOOLEAN變量作為控制端口的開關。 客戶端界面的目錄文件樹與本地及服務器目錄文件一一對應問題 客戶端界面中用JTree類構造本地的目錄文件樹和服務器的目錄文件樹。為了使界面的操作映射到本地或服務器系統(tǒng)中相應的文件操作,需要獲得文件的路徑。解決方法:用JTree類的getSelectionPath()方法獲得路徑信息,但這些信息并不是正確的路徑格式,因此還需要用String類下的substring進行處理。 資源的釋放 程序中使用了Socket、ServerSocket套接字及多線程,在不需要使用套接字的時候應及時關閉,否則重復綁定的時候會拋出異常,無法使用。解決方法:使用Socket、ServerSocket類的close()及時關閉套接字。6 個人體會及建議通過本次實驗設計,熟悉了套接字Socket、ServerSocket 的編程接口功能和使用,了解文件傳輸?shù)南鄳獏f(xié)議,多線程的使用和協(xié)作,初步掌握TCP/IP 網(wǎng)絡應用程序基本的設計方法和實現(xiàn)技巧。參考文獻[1] 葉至軍.Java2自學教程[M].北京:人民郵電出版社,:第69頁至第73頁,第156頁至第161頁。[2] 汪曉平,俞俊,李功.精通Java網(wǎng)絡編程[M].北京:清華大學出版社,:第196頁至第210頁。
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1