Sugo

          Goof off ? no way: never
          posts - 20, comments - 8, trackbacks - 73, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          實現自己的下載程序

          Posted on 2007-01-26 14:04 sugo 閱讀(323) 評論(0)  編輯  收藏

          ????? 實現了基本的網絡圖片、mp3、影片下載,原理為首先根據要下載的圖片(mp3、影片)的url,將它的信息寫入一個臨時文件。然后再從這個臨時文件將信息導入到真正你想要存儲的圖片(mp3、影片)。第一步為網絡到本地,第二步為本地到本地。
          ???????//網絡到本地代碼:
          ?????? ?java.net.URL l_url = new java.net.URL("http://localhost/rlzy/photo/"+addition); //圖片url地址
          ??????? java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
          ??????? int randomnum=(int)(Math.random()*100);
          ??????? System.out.println(randomnum);
          ??????? File f1=new File(photopath+randomnum);
          ??????? FileOutputStream o=new FileOutputStream(f1);
          ??????? l_connection.connect();
          ??????? java.io.InputStream l_urlStream;
          ???????
          ??????? l_urlStream = l_connection.getInputStream();

          ?????? byte b[]=new byte[1000];
          ?????? int n;
          ????????? while( (n=l_urlStream.read(b))!=-1)
          ????????????? {
          ????????? ??? o.write(b,0,n);
          ????????????? }
          ????????? o.close();
          ????????? l_urlStream.close();
          ????????
          ?????????
          ????????? //本地到本地
          ????????? RandomAccessFile random=new RandomAccessFile(f1,"r");
          ????????? long? forthEndPosition=0;
          ???????????File tfolder1=new File("E:/111/);//存儲圖片路徑
          ???????? ? tfolder1.mkdirs();//如果不存在就創建此文件夾,如果沒有這個步驟將會出現FileNotFoundException
          ??????????File f2=new File("e:/111/"+name);
          ?????????????
          ??????????RandomAccessFile random2=new RandomAccessFile(f2,"rw");?
          ????????????
          ????????? random.seek(random.length());
          ???????? ?long endPosition=random.getFilePointer();
          ??????????random.seek(forthEndPosition);
          ??????????long startPoint=random.getFilePointer();
          ????????????while(startPoint<endPosition) //開始拷貝文件信息
          ????????????????? { n=random.readByte();
          ??????????????????? random2.write(n);
          ??????????????????? startPoint=random.getFilePointer();
          ????????????????? }
          ?????????? random2.close();random.close();
          ?????????? f1.delete(); //刪除臨時文件?????
          ????????? 程序寫了一個簡單的GUI界面?,使其看起來更像一個下載器了。如果提高下載速度還需進一步的學習和研究。有興趣的朋友可以點擊下載研究
          ????????? http://sugo.gnway.net/test/FreeDown.jar(申請的一個免費二級域名,速度可能不快 :-) ,另外需要sun公司的jre環境,Windows、Linux下均能運行)
          ?????????


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 开鲁县| 京山县| 乐清市| 铁力市| 银川市| 敦煌市| 通州区| 游戏| 东丰县| 财经| 越西县| 成武县| 长沙县| 长岭县| 剑河县| 辽源市| 普兰县| 永吉县| 赣州市| 九寨沟县| 宁德市| 曲松县| 临洮县| 泗洪县| 孟州市| 嵩明县| 吴堡县| 平谷区| 南开区| 方山县| 法库县| 桦甸市| 新野县| 山东省| 青浦区| 霍林郭勒市| 高淳县| 民勤县| 绵竹市| 安阳市| 喀喇沁旗|