java根据网络地址保存图片的方法
本文实例为大家分享了java根据网络地址保存图片的具体代码,供大家参考,具体内容如下
importjava.io.BufferedInputStream;
importjava.io.File;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.net.HttpURLConnection;
importjava.net.URL;
importjava.util.Random;
importsun.misc.BASE64Decoder;
/**
*常用工具类
*@author胡汉三
*
*2014-11-21上午10:16:10
*/
publicclassTools{
publicstaticvoidmain(String[]args)throwsException{
Stringstr="http://api.map.baidu.com/staticimage?center=106.720568,26.585137&width=697&height=550&markers=106.729443,26.593795&markerStyles=-1,http://api.map.baidu.com/images/marker_red.png,-1,23,25&zoom=15&labels=106.730143,26.594695&labelStyles=师大某小区包子铺,1,14,0xFFFFFF,0xEC624D,1";
Toolsdw=newTools();
dw.saveToFile(str,"E:\\"+AnguoFileUtils.getRandomFileName()+".png");
}
/**
*根据网络地址保存图片
*@paramdestUrl网络地址
*@paramfilePath图片存储路径
*/
publicvoidsaveToFile(StringdestUrl,StringfilePath){
FileOutputStreamfos=null;
BufferedInputStreambis=null;
HttpURLConnectionhttpUrl=null;
URLurl=null;
intBUFFER_SIZE=1024;
byte[]buf=newbyte[BUFFER_SIZE];
intsize=0;
try{
url=newURL(destUrl);
httpUrl=(HttpURLConnection)url.openConnection();
httpUrl.connect();
bis=newBufferedInputStream(httpUrl.getInputStream());
fos=newFileOutputStream(filePath);
while((size=bis.read(buf))!=-1){
fos.write(buf,0,size);
}
fos.flush();
}catch(IOExceptione){
}catch(ClassCastExceptione){
}finally{
try{
fos.close();
bis.close();
httpUrl.disconnect();
}catch(IOExceptione){
}catch(NullPointerExceptione){
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。