且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

java获取http:图片下载代码——android基础编

更新时间:2022-03-26 13:54:55

大家肯定很奇怪,为什么我写一编文章,原因是这样,android双向通信会用到协议,有http:协议, ftp: 协议,tip/ip  协议
所以我写一个JAVA小程序,让大家有所了解一下获取的流程。

 


  1. package com.smart.test; 
  2.  
  3. import java.io.ByteArrayOutputStream; 
  4. import java.io.File; 
  5. import java.io.FileOutputStream; 
  6. import java.io.InputStream; 
  7. import java.net.HttpURLConnection; 
  8. import java.net.URL; 
  9.  
  10. import org.junit.Test; 
  11.  
  12. public class InternetTest { 
  13.     // 读取的方法 
  14.     public byte[] readStream(InputStream inStream) throws Exception { 
  15.         ByteArrayOutputStream outstream = new ByteArrayOutputStream(); 
  16.         byte[] buffer = new byte[1024]; // 用数据装 
  17.         int len = -1
  18.         while ((len = inStream.read(buffer)) != -1) { 
  19.             outstream.write(buffer, 0, len); 
  20.         } 
  21.         outstream.close(); 
  22.         inStream.close(); 
  23.         // 关闭流一定要记得。 
  24.         return outstream.toByteArray(); 
  25.     } 
  26.  
  27.     @Test 
  28.     public void getImage() throws Exception { 
  29.         //要下载的图片的地址, 
  30.         String urlPath = "http://t2.gstatic.com/images?q=tbn:9g03SOE7gW2gEM:http://dev.10086.cn/cmdn/supesite"
  31.         URL url = new URL(urlPath);//获取到路径 
  32.         // http协议连接对象 
  33.         HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
  34.         conn.setRequestMethod("GET");// 这里是不能乱写的,详看API方法 
  35.         conn.setConnectTimeout(6 * 1000); 
  36.         // 别超过10秒。 
  37.         System.out.println(conn.getResponseCode()); 
  38.         if (conn.getResponseCode() == 200) { 
  39.             InputStream inputStream = conn.getInputStream(); 
  40.             byte[] data = readStream(inputStream); 
  41.             File file = new File("smart.jpg");// 给图片起名子 
  42.             FileOutputStream outStream = new FileOutputStream(file);//写出对象 
  43.             outStream.write(data);// 写入 
  44.             outStream.close();  // 关闭流 
  45.         } 
  46.     } 


 

 

 

本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/491055,如需转载请自行联系原作者