import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class GetImage { private static String PATH = "http://192.168.1.119:8080/ok/point_one.png"; public static void main(String[] args) { // TODO Auto-generated method stub savaDisk(); } //存到本地 public static void savaDisk(){ InputStream in = getInputStream(); FileOutputStream fos = null; byte[] data = new byte[1024]; int len = 0; try { fos = new FileOutputStream("D:\test.png"); while((len = in.read(data))!=-1){ fos.write(data, 0, len); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(in!=null){ try { in.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(fos!=null){ try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public static InputStream getInputStream() { InputStream in = null; HttpURLConnection httpconn = null; try { // 声明url URL url = new URL(PATH); if (url != null) { // 建立客户端与服务器端链接 httpconn = (HttpURLConnection) url.openConnection(); // 设置网路超时时间,如果超过这个时间自动断开 httpconn.setConnectTimeout(3000); // 打开输入流 httpconn.setDoInput(true); // 设置请求方式 httpconn.setRequestMethod("GET"); // 获取响应的状态码 int responseCode = httpconn.getResponseCode(); // 判断是否是ok if (responseCode == 200) { // 从服务器获得一个输入流 in = httpconn.getInputStream(); } } } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return in; } }
android4.0以下可以用
package com.example.getimg; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.Toast; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String path = "http://192.168.1.119:8080/ok/point_one.png"; //uri try { URL url = new URL(path); //获得链接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //设置参数 conn.setRequestMethod("GET"); conn.setConnectTimeout(5000); conn.setReadTimeout(5000); //正式链接 conn.connect(); if(conn.getResponseCode()==200){ InputStream is = conn.getInputStream(); //把InputStream通过bitmap转化成图片 Bitmap bitmap = BitmapFactory.decodeStream(is); ImageView img = (ImageView) findViewById(R.id.img); img.setImageBitmap(bitmap); }else{ Toast.makeText(MyActivity.this,"没有响应",Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } } }); } }