你的位置:首页 > Java教程

[Java教程]Java获取url地址图片


package com.listings.web.controller; import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileOutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.Date; public class CatchPic {   public static boolean saveUrlAs(String fileUrl, String savePath)/* fileUrl网络资源地址 */     {           try {         /* 将网络资源地址传给,即赋值给url */         URL url = new URL(fileUrl);                   /* 此为联系获得网络资源的固定格式用法,以便后面的in变量获得url截取网络资源的输入流 */         HttpURLConnection connection = (HttpURLConnection) url.openConnection();         DataInputStream in = new DataInputStream(connection.getInputStream());                   /* 此处也可用BufferedInputStream与BufferedOutputStream 需要保存的路径*/         DataOutputStream out = new DataOutputStream(new FileOutputStream(savePath));                            /* 将参数savePath,即将截取的图片的存储在本地地址赋值给out输出流所指定的地址 */         byte[] buffer = new byte[4096];         int count = 0;         while ((count = in.read(buffer)) > 0)/* 将输入流以字节的形式读取并写入buffer中 */         {           out.write(buffer, 0, count);         }         out.close();/* 后面三行为关闭输入输出流以及网络资源的固定格式 */         in.close();         connection.disconnect();         return true;/* 网络资源截取并存储本地成功返回true */           } catch (Exception e) {         System.out.println(e + fileUrl + savePath);         return false;       }     }         public static void main(String[] args) {       CatchPic pic = new CatchPic();/* 创建实例 */               //需要下载的URL       String photoUrl = "http://photos.listhub.net/GAMLS/07442715/25?lm=20150426T002920";           // 截取最后/后的字符串       String fileName = new Date().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);     }  }