之前我寫過獲得tmall上qfour某單品頁上第一張圖片的
程序。
這次我又在qfour上面選了一個(gè)
貓娘志2015春秋新款女裝顯瘦小清新碎花長袖田園連衣裙女單品頁用于獲得下面的這張圖。

這張圖對應(yīng)的url為:
http://gi4.md.alicdn.com/bao/uploaded/i4/TB1aRpnHpXXXXaNXVXXXXXXXXXX_!!0-item_pic.jpg
我寫了一個(gè)ImageDownload類,其中的download方法用于下載url對應(yīng)的圖片并保存在特定的本地目錄上。代碼如下:
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); // 構(gòu)造URL
URLConnection con = url.openConnection(); // 打開鏈接
con.setConnectTimeout(5*1000); //設(shè)置請求超時(shí)為5s
InputStream is = con.getInputStream(); // 輸入流
byte[] bs = new byte[1024]; // 1K的數(shù)據(jù)緩沖
int len; // 讀取到的數(shù)據(jù)長度
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);
}
// 完畢,關(guān)閉所有鏈接
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");
}
}
posted on 2015-03-08 12:33
marchalex 閱讀(1758)
評論(0) 編輯 收藏 所屬分類:
java小程序