使用 URL 读取网络资源
URL (Uniform Resource Locator ) 代表同一资源定位符,它是指向互联网”资源”的指针.资源可以是简单的文件或目录.也可以是对更复杂的对象的引用.例如对数据库或搜索引擎的查询.通常情况而言..url 可以由协议名,主机,端口和资源组成.既满足如下格式: protocol://host:port/resourceName
例如如下的 Url地址https://www.baidu.com/
URL 提供了过个构造器创建url对象,可以调用如下常见方法来访问url对应的资源.
- String getFile() : 获取此url的资源名.
- String getHost () :获取此url的主机名.
- String getPath () : 获取此url的 路径部分.
- int getPort () : 获取此url的端口号.
- String getQuery() : 获取此url查询字符串的部分.
- URLConnection openConnection() : 返回一个 URLConnection 对象,它表示到url所引用的远程对象的连接.
- 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 读取网络资源相关推荐
- Android开发之使用URL访问网络资源
Android开发之使用URL访问网络资源 URL (UniformResource Locator)对象代表统一资源定位器,它是指向互联网"资源"的指针.资源可以是简单的文件或目 ...
- Java如何将URL读取的内容存入本地文件中
要想访问网络资源,首先需要建立一个URL对象,通过openStream方法读取指定的资源 读取网络资源内容,要构建一个输入流 要想将内容写入文件,要构建一个文件对象和相应的文件输出流 具体代码实现如下 ...
- python 从网络URL读取图片并直接处理的代码
如下代码段是关于python 从网络URL读取图片并直接处理的代码. import urllib2 import Image import cStringIO def ImageScale(url,s ...
- (网络编程)URL下载网络资源
URL下载网络资源 URL,统一资源定位符,定位网络上的某一资源. 可以利用URL下载网络上的资源. 例如下载网易云音乐网站的音乐. 复制上述请求URL public class Demo01Url ...
- java通过url获取网页内容_Java语言通过URL读取网页数据并保存到本地文件(代码实例)...
本文主要向大家介绍了Java语言通过URL读取网页数据并保存到本地文件(代码实例),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. Java通过URL读取网页数据并保存到本地文件(代码 ...
- 从入门到入土:基于Python实现百度查询返回结果真实url读取及域名读取
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- 根据url读取html文件
根据url读取html有两种方式 1.HttpURLConnection 2.Jsoup 两种方式的maven依赖: <!-- https://mvnrepository.com/artifac ...
- mysql中未找到URL_在此服务器上未找到请求的URL /读取
我是新的php.所以一个人推荐我一步一步地执行本教程 - http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html(之前的章 ...
- kuangshenshuo-网络编程-URL下载网络资源
网络编程 -> URL下载网络资源 URL 统一资源定位符 定位互联网上的某个资源 协议://IP地址:端口/项目名/资源 import java.io.FileOutputStream; im ...
- java通过url读取pdf数据
java通过url读取pdf数据 import java.io.*; import java.net.MalformedURLException; import java.net.URL; impor ...
最新文章
- JavaScript初学者编程题(18)
- 交换安全老师课堂笔记
- python免费入门手册-Python 基础入门教程
- Singleton Pattern(单例模式)
- WebLogic重启
- Mybatis中 sequence不能自增长
- Eyjafjalla
- 几款优秀的点播、RTSP/RTMP直播播放器介绍
- JavaWeb调用python脚本(可传参)
- Flex控制对主机网页中脚本的访问
- “我们完全误解了区块链!”
- 学习中的一些牢骚。字符串栈/堆的址标准写法。
- bzoj1783: [Usaco2010 Jan]Taking Turns
- MSCRM与MS人立方关系的集成
- MATLAB获取附加功能的方法
- 管理信息系统(MIS)概述
- 基于QT学生管理系统
- 【G4基础04】2.4 How to Specify Particles
- 百度地图高德地图谷歌地图腾讯地图商家数据采集
- ssh导出数据库的数据到Excel表格