Sugo

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

          實現自己的下載程序

          Posted on 2007-01-26 14:04 sugo 閱讀(327) 評論(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下均能運行)
          ?????????


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


          網站導航:
           
          主站蜘蛛池模板: 古蔺县| 新民市| 望江县| 红河县| 金乡县| 张家口市| 铜梁县| 元朗区| 肥东县| 佛冈县| 古蔺县| 宝兴县| 蒙山县| 中山市| 东乡县| 道真| 绥阳县| 永川市| 衡阳市| 缙云县| 金平| 大竹县| 伊金霍洛旗| 东兴市| 德清县| 房产| 富顺县| 故城县| 乐安县| 福泉市| 霍林郭勒市| 从江县| 恭城| 仙游县| 广丰县| 诸暨市| 襄城县| 永顺县| 茌平县| 平阴县| 普陀区|