之前我写过获得tmall上qfour某单品页上第一张图片的
程序。
这次我又在qfour上面选了一个
猫娘志2015春秋新款女装显瘦小清新碎花长袖田园连衣裙女单品页用于获得下面的这张图。
这张图对应的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");
}
}
posted on 2015-03-08 12:33
marchalex 阅读(1751)
评论(0) 编辑 收藏 所属分类:
java小程序