Java获取url地址图片
package com.listings.web.controller;
importjava.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Date;publicclassCatchPic {publicstaticboolean saveUrlAs(String fileUrl, String savePath)/*fileUrl网络资源地址*/{try{/*将网络资源地址传给,即赋值给url*/URL url=newURL(fileUrl);/*此为联系获得网络资源的固定格式用法,以便后面的in变量获得url截取网络资源的输入流*/HttpURLConnection connection=(HttpURLConnection) url.openConnection();
DataInputStreamin=newDataInputStream(connection.getInputStream());/*此处也可用BufferedInputStream与BufferedOutputStream 需要保存的路径*/DataOutputStreamout=newDataOutputStream(newFileOutputStream(savePath));/*将参数savePath,即将截取的图片的存储在本地地址赋值给out输出流所指定的地址*/byte[] buffer =newbyte[4096];intcount =0;while((count =in.read(buffer)) >0)/*将输入流以字节的形式读取并写入buffer中*/{out.write(buffer,0, count);
}out.close();/*后面三行为关闭输入输出流以及网络资源的固定格式*/in.close();
connection.disconnect();returntrue;/*网络资源截取并存储本地成功返回true*/}catch(Exception e) {
System.out.PRintln(e + fileUrl +savePath);returnfalse;
}
}publicstaticvoidmain(String[] args) {
CatchPic pic=newCatchPic();/*创建实例*///需要下载的URLString photoUrl ="http://photos.listhub.net/GAMLS/07442715/25?lm=20150426T002920";//截取最后/后的字符串String fileName =newDate().getTime()+".png";//图片保存路径String filePath ="D:/img/";/*调用函数,并且进行传参*/boolean flag= pic.saveUrlAs(photoUrl, filePath +fileName);
System.out.println("Run ok!\n Get URL file"+flag);
System.out.println(filePath);
System.out.println(fileName);
}
}