1. 程式人生 > >通過Java HTTP連線將網路圖片下載到本地

通過Java HTTP連線將網路圖片下載到本地

import java.io.ByteArrayOutputStream;  
import java.io.File;  
import java.io.FileOutputStream;  
import java.io.InputStream;  
import java.net.HttpURLConnection;  
import java.net.URL;  


public class ReadImg {  
    /** 
     * @param args 
     */  
    public static void main(String[] args) throws Exception {  
        //new一個URL物件  
        URL url = new URL("http://www.33333.net/commons/image.jsp");  
        //開啟連結  
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
        //設定請求方式為"GET"  
        conn.setRequestMethod("GET");  
        //超時響應時間為5秒  
        conn.setConnectTimeout(5 * 1000);  
        //通過輸入流獲取圖片資料  
        InputStream inStream = conn.getInputStream();  
        //得到圖片的二進位制資料,以二進位制封裝得到資料,具有通用性  
        byte[] data = readInputStream(inStream);  
        //new一個檔案物件用來儲存圖片,預設儲存當前工程根目錄  
        File imageFile = new File("D:\\abc.png");  
        //建立輸出流  
        FileOutputStream outStream = new FileOutputStream(imageFile);  
        //寫入資料  
        outStream.write(data);  
        //關閉輸出流  
        outStream.close();  
    }  
    public static byte[] readInputStream(InputStream inStream) throws Exception{  
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
        //建立一個Buffer字串  
        byte[] buffer = new byte[1024];  
        //每次讀取的字串長度,如果為-1,代表全部讀取完畢  
        int len = 0;  
        //使用一個輸入流從buffer裡把資料讀取出來  
        while( (len=inStream.read(buffer)) != -1 ){  
            //用輸出流往buffer裡寫入資料,中間引數代表從哪個位置開始讀,len代表讀取的長度  
            outStream.write(buffer, 0, len);  
        }  
        //關閉輸入流  
        inStream.close();  
        //把outStream裡的資料寫入記憶體  
        return outStream.toByteArray();  
    }  
}

相關推薦

通過Java HTTP連線網路圖片下載本地

import java.io.ByteArrayOutputStream;   import java.io.File;   import java.io.FileOutputStream;   import java.io.InputStream;   import ja

java通過Http請求訪問網路圖片或檔案返回byte陣列的兩種方式

第一種方式,使用HttpURLConnection 使用HttpURlConnection傳送一個get請求,開啟一個連線,從連接獲取到流,將流轉成byte陣列 /** * 發起Get請求 * * @param urlStr * @

java指定若干個網路圖片,打包為zip下載

應專案要求需要將多個存在某url地址的圖片,打包為zip下載下來 就費勁的研究兩小時,搞定收工,初稿如下 public void download(HttpServletRequest request, HttpServletResponse respo

java中使用okHttpClient下載網路圖片本地

OkHttpClient官網: http://square.github.io/okhttp/OkHttp GitHub地址:https://github.com/square/okhttp首先匯入maven依賴:<dependency> <grou

通過java web代理docker容器配置為jenkins節點

1、安裝centos映象 docker search centos                  //查詢映象 docker pull centos      &nbs

zookeeper - 通過java程式碼連線zookeeper(2)

首先建立一個Maven專案 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www

018使用Http協議從網路下載檔案

1: activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android

jdbc 中通過Java程式碼連線資料庫

示例程式碼 1.通過建立一個類  寫出連線資料庫的相關屬性 username,password,URL,Connection Statement . Resultset 物件 2.載入並註冊MySQL的驅動——在Java程式中,可以通過 “Class.forName(“

JAVA獲取網路圖片儲存本地

package cn.test.net;   import java.io.File;   import java.io.FileOutputStream;   import java.io.InputStream;   import ja

微信小程式canvas繪圖網路圖片下載與promise all的應用

問題:如果海報需要儲存到手機的時候我們需要canvas繪圖實現,然而許多網路圖片需要本地下載之後才可以儲存到手機,官方提供的downloadFile方法雖然可以在成功的回撥中依次下載多張圖片,但是當圖片太多時候難免會造成回撥地獄,造成程式碼可讀性不強,程式碼臃腫

使用Http協議獲取網路圖片,採用servlet輸出

package com.sudytech.activity.web.action; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import ja

使用http協議獲取網路圖片

http用於傳輸WWW方式的資料。http協議採用了請求響應的模型。在android中提供了HttpURLConnection和HttpClient介面開發HTTP程式。下面分別使用這兩種方式獲取網路圖片。 1.HttpURLConnection 程式碼如下: pub

使用執行緒進行網路圖片下載(一)

一、執行緒阻塞的概念 在android中,主執行緒被阻塞會導致應用無法進行重新整理UI介面,應用無法響應,給使用者帶來不好的體驗。如果,主執行緒阻塞的時間過長,系統會丟擲ANR異常(Application Not Response). 任何耗時操作都不可以寫在主執行緒中,下

hadoop入門之通過java程式碼實現本地檔案上傳到hadoop的檔案系統

package upload;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.URI

Java Http斷點續傳(下載

package **********; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.Rando

通過Java WebService介面從服務端下載檔案

一、 前言 本文講述如何通過webservice介面從伺服器下載檔案到客戶端。適用於跨系統間的檔案互動,傳輸檔案不大的情況(控制在幾百M以;);在這種情況下搭建一個FTP伺服器增加了系統部署的複雜度和系統對外暴露的埠。採用在服務端讀取檔案,返回位元組流到客戶端再

網路圖片儲存到本地

using System; using System.Net; using System.IO; using System.Text; namespace mynamespace { public class Downloader { //

Image擴充套件,如何網路圖片顯示在自己的程式中

因為圖片來源多種多樣,預設框架已經提供了好幾種圖片讀取方式,比如Image.FromFile,Image.FromHbitmap,Image.FromStream,但就是沒有提供Image.FromNet,所以這裡寫了個通用的擴充套件方法,可以支援從Net環境中讀取圖片(H

C++ QT 載入網路圖片本地圖片

原始碼下載:C++_QT 載入圖片 QTShowImage.cpp #include "QtShowImage.h" #include <QMovie> #include <QNetworkAccessManager> #include <QUrl> #i

Banner輪播圖 網路圖片本地圖片

banner使用步驟 1—新增依賴 compile ‘com.youth.banner:banner:1.4.9’ //最新版本 2— 新增許可權 * * 3—添加布局 <com.youth.banner.Banner xmlns:app=“http://sch