Android访问网络图片部分代码

//类URL代表一个统一资源定位符,它是指向互联网“资源”的指针。
URL url = new URL("http://www.android-study.com/");

// 每个HttpURLConnection实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

//设置URL请求的方法
conn.setRequestMethod("GET");

//设置一个指定的超时值(以毫秒为单位),该值将在打开到此 URLConnection 引用的资源的通信链接时使用。
conn.setConnectTimeout(5 * 1000);

//conn.getInputStream()返回从此打开的连接读取的输入流
InputStream inStream = conn.getInputStream();//通过输入流获取html数据
byte[] data = readInputStream(inStream);//得到html的二进制数

File imageFile = new File("baidu.jpg");
FileOutputStream outStream = new FileOutputStream(imageFile);
outStream.write(data);
outStream.close();
System.out.println("完成");

用到的readInputStream()函数:

public static byte[] readInputStream(InputStream inStream) throws Exception {
    //此类实现了一个输出流,其中的数据被写入一个byte数组
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    
    //字节数组
    byte[] buffer = new byte[1024];
    int len = 0;
    
    //从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中
    while ((len = inStream.read(buffer)) != -1) {
        // 将指定byte数组中从偏移量 off 开始的 len 个字节写入此输出流
        outStream.write(buffer, 0, len);
    }
    inStream.close();
    
    //toByteArray()创建一个新分配的 byte 数组。
    return outStream.toByteArray();
}
暂无评论
  • 1:请一针见血的评论。
  • 2:评论需要审核通过后才能显示。
  • 3:评论字数限制在1000字以内。
  • 当前字数:0
热门文章
推荐文章
随机文章
关于本站 - 广告服务 - 版权声明 - 联系我们 - 友情链接 - 网站地图 - 帮助中心