Sugo

Goof off ? no way: never
posts - 20, comments - 8, trackbacks - 73, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

实现自己的下载程序

Posted on 2007-01-26 14:04 sugo 阅读(311) 评论(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下均能运行)
         


只有注册用户登录后才能发表评论。


网站导航: