java获取http:图片下载代码——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,如需转载请自行联系原作者

相关文章
|
8月前
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
530 89
|
5月前
|
编解码 Java Android开发
安卓虚拟摄像头免root版,虚拟摄像头替换真实摄像头,jar代码开源分享
通过动态替换摄像头输入流的方式实现虚拟摄像头功能,代码经过简化展示核心逻辑。实际开发中还需要考虑视频编解码优化
|
6月前
|
安全 网络安全 流计算
修改代码以确保对SSL和HTTP异常的正确处理。
记得,在海上和代码世界里,风暴总是突如其来。但只要你的代码准备妥当,合理地处理SSL和HTTP异常,你的小船就能安全航行,最终到达它的目的地。
158 12
|
5月前
|
存储 人工智能 Java
java之通过Http下载文件
本文介绍了使用Java实现通过文件链接下载文件到本地的方法,主要涉及URL、HttpURLConnection及输入输出流的操作。
325 0
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
604 3
|
9月前
|
存储 编解码 开发工具
Android平台毫秒级低延迟HTTP-FLV直播播放器技术探究与实现
本文详细探讨了在Android平台上实现HTTP-FLV播放器的过程。首先介绍了FLV格式的基础,包括文件头和标签结构。接着分析了HTTP-FLV传输原理,通过分块传输实现流畅播放。然后重点讲解了播放器的实现步骤,涵盖网络请求、数据解析、音视频解码与渲染,以及播放控制功能的设计。文章还讨论了性能优化和网络异常处理的方法,并总结了HTTP-FLV播放器的技术价值,尤其是在特定场景下的应用意义。
391 11
|
9月前
|
存储 缓存 搜索推荐
HTTP500代码怎么解决?常见的5xx网页错误及其原因
本文介绍了如何修复HTTP 500错误及常见的5xx网页错误。500错误表示服务器无法处理请求,可能由文件权限、脚本错误、数据库连接或配置问题引起。作为用户,可尝试重新加载页面、检查URL或清除缓存;作为网站所有者,需检查`.htaccess`文件、服务器日志、插件冲突及PHP版本等。此外,文章还列举了其他5xx错误(如502、503、504等)及其原因,帮助定位和解决服务器端问题,避免影响流量与搜索引擎排名。
5214 4
|
12月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
252 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
383 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
291 1