Java根据url下载图片到本地
方法体
private static String downloadPicture(String urlList,String path) {
URL url = null;
try {
url = new URL(urlList);
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);
}
BASE64Encoder encoder = new BASE64Encoder();
String encode = encoder.encode(buffer);//返回Base64编码过的字节数组字符串
//System.out.println(encode);
fileOutputStream.write(output.toByteArray());//Base64转换成文件下载到本地
dataInputStream.close();
fileOutputStream.close();
return encode;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
调用方法
String url="https://baidu.com"; //图片url
String pic=id+"_"+timestamp; //下载到本地后图片的名称
String download="c:/Img/"+pic+".jpg"; //图片下载到本地的路径
downloadPicture(url,download); //调用方法将图片下载到本地