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

本文提供了一个 Java 小程序示例,展示了如何使用 HTTP 协议从指定 URL 下载图片,并将其保存到本地文件中。该示例适用于 Android 应用开发中涉及的网络图片加载场景。

大家肯定很奇怪,为什么我写一编文章,原因是这样,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,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值