URL (Uniform Resource Locator ) 代表同一资源定位符,它是指向互联网”资源”的指针.资源可以是简单的文件或目录.也可以是对更复杂的对象的引用.例如对数据库或搜索引擎的查询.通常情况而言..url 可以由协议名,主机,端口和资源组成.既满足如下格式: protocol://host:port/resourceName 例如如下的 Url地址https://www.baidu.com/
URL 提供了过个构造器创建url对象,可以调用如下常见方法来访问url对应的资源.

  1. String getFile() : 获取此url的资源名.
  2. String getHost () :获取此url的主机名.
  3. String getPath () : 获取此url的 路径部分.
  4. int getPort () : 获取此url的端口号.
  5. String getQuery() : 获取此url查询字符串的部分.
  6. URLConnection openConnection() : 返回一个 URLConnection 对象,它表示到url所引用的远程对象的连接.
  7. InputStream openStream() : 打开与此url 的连接,并返回一个用于读取该url资源的 InputStream.

URL提供的openStream() 可以读取该URL资源的 InputStream, 该方法可以非常方便的读取远程资源.

package com.net.httpurl;import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;/*** 使用 Url读取网络资源*/
public class UrlTestActivity extends AppCompatActivity {ImageView show;Bitmap mBitmap; //代表从网络下载得到的图片EditText path;Button btn;Handler mHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {if (msg.what == 0x123) {show.setImageBitmap(mBitmap);}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_url_test);show = (ImageView) findViewById(R.id.iv_show);path = (EditText) findViewById(R.id.et_path);btn = (Button) findViewById(R.id.btn);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {new Thread() {@Overridepublic void run() {super.run();String path_url = path.getText().toString().trim();//String path_url = "https://www.baidu.com/img/bd_logo1.png";//定义一个url 对象try {URL url = new URL(path_url);//打开该 url 对应的输入流InputStream is = url.openStream();//从 InputStream 中解析图片mBitmap = BitmapFactory.decodeStream(is);//发送消息 通知ui 组件显示该图片mHandler.sendEmptyMessage(0x123);is.close();//-------------------------/*** 两次使用了  url.openStream()方法;* 第一次使用了 BitmapFactory.decodeStream(is);方法来解析该输入流中图片* 第2次 是使用IO 将输入流中的图片下载到本地**/
///-----------------------------------------------------------------//再次 打开该 url 对应的输入流is = url.openStream();//打开手机文件对应的输出流OutputStream os = openFileOutput("aaaa.png",MODE_PRIVATE);byte[] buff = new byte[1024];int len = 0;//url对应的资源下载到本地while ((len=is.read(buff))>0){os.write(buff,0,len);}is.close();os.close();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}.start();}});}
}

运行改程序不仅会显示该url对象所对应的图片,而且还会在手机文件系统的 /data/data/packageName/files/目录下生成的”xxxx.png”图片,该图片就是通过 url从网络上下载的图片.

使用 URL 读取网络资源相关推荐

  1. Android开发之使用URL访问网络资源

    Android开发之使用URL访问网络资源 URL (UniformResource Locator)对象代表统一资源定位器,它是指向互联网"资源"的指针.资源可以是简单的文件或目 ...

  2. Java如何将URL读取的内容存入本地文件中

    要想访问网络资源,首先需要建立一个URL对象,通过openStream方法读取指定的资源 读取网络资源内容,要构建一个输入流 要想将内容写入文件,要构建一个文件对象和相应的文件输出流 具体代码实现如下 ...

  3. python 从网络URL读取图片并直接处理的代码

    如下代码段是关于python 从网络URL读取图片并直接处理的代码. import urllib2 import Image import cStringIO def ImageScale(url,s ...

  4. (网络编程)URL下载网络资源

    URL下载网络资源 URL,统一资源定位符,定位网络上的某一资源. 可以利用URL下载网络上的资源. 例如下载网易云音乐网站的音乐. 复制上述请求URL public class Demo01Url ...

  5. java通过url获取网页内容_Java语言通过URL读取网页数据并保存到本地文件(代码实例)...

    本文主要向大家介绍了Java语言通过URL读取网页数据并保存到本地文件(代码实例),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. Java通过URL读取网页数据并保存到本地文件(代码 ...

  6. 从入门到入土:基于Python实现百度查询返回结果真实url读取及域名读取

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  7. 根据url读取html文件

    根据url读取html有两种方式 1.HttpURLConnection 2.Jsoup 两种方式的maven依赖: <!-- https://mvnrepository.com/artifac ...

  8. mysql中未找到URL_在此服务器上未找到请求的URL /读取

    我是新的php.所以一个人推荐我一步一步地执行本教程 - http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html(之前的章 ...

  9. kuangshenshuo-网络编程-URL下载网络资源

    网络编程 -> URL下载网络资源 URL 统一资源定位符 定位互联网上的某个资源 协议://IP地址:端口/项目名/资源 import java.io.FileOutputStream; im ...

  10. java通过url读取pdf数据

    java通过url读取pdf数据 import java.io.*; import java.net.MalformedURLException; import java.net.URL; impor ...

最新文章

  1. JavaScript初学者编程题(18)
  2. 交换安全老师课堂笔记
  3. python免费入门手册-Python 基础入门教程
  4. Singleton Pattern(单例模式)
  5. WebLogic重启
  6. Mybatis中 sequence不能自增长
  7. Eyjafjalla
  8. 几款优秀的点播、RTSP/RTMP直播播放器介绍
  9. JavaWeb调用python脚本(可传参)
  10. Flex控制对主机网页中脚本的访问
  11. “我们完全误解了区块链!”
  12. 学习中的一些牢骚。字符串栈/堆的址标准写法。
  13. bzoj1783: [Usaco2010 Jan]Taking Turns
  14. MSCRM与MS人立方关系的集成
  15. MATLAB获取附加功能的方法
  16. 管理信息系统(MIS)概述
  17. 基于QT学生管理系统
  18. 【G4基础04】2.4 How to Specify Particles
  19. 百度地图高德地图谷歌地图腾讯地图商家数据采集
  20. ssh导出数据库的数据到Excel表格

热门文章

  1. lstm 做航迹预测预测_用lstm预测酒店收入的第一步
  2. web前端-HTML 媒体插件 022
  3. matlab用插值法plot,Matlab插值法
  4. MATLAB 点运算与除法
  5. 2021-03-26,拉胯的三条命令,HappyCTFd
  6. CSR8670蓝牙模块,支持AVRCP音频协议
  7. NSGA2算法原理及python实现
  8. stm32_跑马灯程序
  9. Linux学习手册大全
  10. mysql服务启动失败