Java獲取url地址圖片
阿新 • • 發佈:2019-02-02
獲取【下載地址】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); } }