Java实现图片下载功能
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");
}
}