超简单的图片下载
学习记录
本文是根据img标签的src属性内的链接下载图片
1.代码如下
注意:下文中的path 路径如无特别需求的情况下建议采用路径+时间戳命名,
如一定要用绝对路径+文件名命名的话,一定得要有一个图片在文件内供替换/覆盖才能下载成功要不然会报错.
/**
* 链接url下载图片
* 注:path 路径一定要先有个图片用来被替换,如用时间戳命名则不需要
* 如:img/" + System.currentTimeMillis() + ".png
*
*/
@org.junit.Test
public void imgDown() {
//图片的src路径
String srcUrl = "http://pic12.nipic.com/20110221/6727421_210944911000_2.jpg";
//将下载后的图片保存在哪个路径和命名成什么名字,我这里是将图片下载在项目内的img文件内,并以时间戳命名
String path = "img/" + System.currentTimeMillis() + ".png";
URL url = null;
try {
url = new URL(srcUrl);
DataInputStream dataInputStream = new DataInputStream(url.openStream());
FileOutputStream fileOutputStream = new FileOutputStream(new File(path));
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = dataInputStream.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
fileOutputStream.write(output.toByteArray());
dataInputStream.close();
fileOutputStream.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("图片下载完成");
}
2.结果如下
1):图片地址
2):下载完成后