獲取遠端圖片儲存到本地
阿新 • • 發佈:2019-01-01
廢話不多,程式碼放上,菜鳥記錄,僅供參考
package com.wx.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class HttpURLConnectionUtil { // 通過get請求得到讀取器響應資料的資料流 public static InputStream getInputStreamByGet(String url) { try { HttpURLConnection conn = (HttpURLConnection) new URL(url) .openConnection(); conn.setReadTimeout(5000); conn.setConnectTimeout(5000); conn.setRequestMethod("GET"); if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { InputStream inputStream = conn.getInputStream(); return inputStream; } } catch (IOException e) { e.printStackTrace(); } return null; } // 將伺服器響應的資料流存到本地檔案 public static void saveData(InputStream is, File file) { try { BufferedInputStream bis = new BufferedInputStream(is); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(file)); byte[] buffer = new byte[1024]; int len = -1; while ((len = bis.read(buffer)) != -1) { bos.write(buffer, 0, len); bos.flush(); } bos.close(); } catch (IOException e) { e.printStackTrace(); } } }
String url = "http://127.0.0.1:9090/bidding";+picAddr2; String[] split = url.split("\\/"); String fileName = split[split.length - 1]; File dir = new File("D:/bidding/uploads/item/2017"); if(!dir.exists()){ dir.mkdirs(); } File file = new File("D:/bidding/uploads/item/2017", fileName); InputStream inputStream = HttpURLConnectionUtil .getInputStreamByGet(url); HttpURLConnectionUtil.saveData(inputStream, file);