Java实现图片下载功能

Java实现图片下载功能
之前我写过获得tmall上qfour某单品页上第一张图片的 程序。
这次我又在qfour上面选了一个 猫娘志2015春秋新款女装显瘦小清新碎花长袖田园连衣裙女单品页用于获得下面的这张图。
Java实现图片下载功能_第1张图片
这张图对应的url为: http://gi4.md.alicdn.com/bao/uploaded/i4/TB1aRpnHpXXXXaNXVXXXXXXXXXX_!!0-item_pic.jpg
我写了一个ImageDownload类,其中的download方法用于下载url对应的图片并保存在特定的本地目录上。代码如下:
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;


public  class ImageDownload {
     public  static  void download(String urlString, String filename)  throws Exception {  

        URL url =  new URL(urlString);  //  构造URL  
        URLConnection con = url.openConnection();   //  打开链接
        con.setConnectTimeout(5*1000);   // 设置请求超时为5s  
        InputStream is = con.getInputStream();   //  输入流  
         byte[] bs =  new  byte[1024];   //  1K的数据缓冲  
         int len;   //  读取到的数据长度  
         int i = filename.length();
         for(i--;i>=0 && filename.charAt(i) != '\\' && filename.charAt(i) != '/';i--);
        String s_dir = filename.substring(0, i);
        File dir =  new File(s_dir);   //  输出的文件流  
         if(!dir.exists()){  
            dir.mkdirs();  
        }  
        OutputStream os =  new FileOutputStream(filename);  
         //  开始读取  
         while ((len = is.read(bs)) != -1) {  
          os.write(bs, 0, len);  
        }  
         //  完毕,关闭所有链接  
        os.close();  
        is.close();  
    }
    
     public  static  void main(String[] args)  throws Exception {
        download("http://gi4.md.alicdn.com/bao/uploaded/i4/TB1aRpnHpXXXXaNXVXXXXXXXXXX_!!0-item_pic.jpg", "d:\\qfour\\sample.jpg");
    }
}  

你可能感兴趣的:(Java实现图片下载功能)