Java的URL类(一)

转:https://www.cnblogs.com/blackiesong/p/6182038.html

Java的URL类(一)

Java的网络类可以让你通过网络或者远程连接来实现应用。而且,这个平台现在已经可 以对国际互联网以及URL资源进行访问了。Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷。我们通过使用Java的URL类 就可以经由URL完成读取和修改数据的操作。

通过一个URL连接,我们就可以确定资源的位置,比如网络文件、网络页面以及网络应用程序等。其中包含了许多的语法元素。
  从URL得到的数据可以是多种多样的,这些都需要一种统一的机制来完成对URL的读取与修改操作。Java语言在它的java.net软件包里就提供了这么一种机制。

URL class是从URL标示符中提取出来的。它允许Java程序设计人员打开某个特定URL连接,并对里边的数据进行读写操作以及对首部信息进行读写操作。而且,它还允许程序员完成其它的一些有关URL的操作。

构造

在创建java.net URL的实例的时候,你能够利用许多公共构造器,从而让其变得更具灵活性。举个例子来说,这个class提供了一种使用完整URL信息串的构造器,一种使 用把URL信息串分解成为协议、主机名以及文件和资源的构造器,还有一种把URL信息串分解成为协议、主机名、端口号以及文件的构造器。我们首先使用完整 的URL来创建一个URL class的例子:

URL aURL = new URL(“http://www.mycompany.com:8080/index.html”);

在这个例子中,我们创建了一个使用完整URL的URL class,其中明确指出了使用的协议是http,主机名称是www.mycompany.com,端口号码为8080,文件/资源为 index.html。如果组成URL的语法发生了错误,那么构造器就会发出MalformedURLException。

连接
  一旦你成功的创建了一个URL class的实例,你就可以对其进行操作了。但是在你能够访问这个URL上的资源和内容之前,你必须要打开到这些资源与内容上的连接。你可以通过使用openConnection来完成这一操作。

使用openConnection并不需要参数,并且在操作成功之后,它会返回一个URLConnection class的实例。在Listing A中,向我们演示了打开一个到URL连接的过程。一旦你的连接成功,你就可以开始对这个URLConnection的输入以及输出流进行读和写的操作了。
  从URL连接中读取数据

使用java.io stream class来从URL中读取数据是一个非常简单的过程。一旦你建立了一个成功的连接,那么你就可以获得针对这个连接的输入流并且开始进行写的操作了。很幸 运的是,java.io classes可以以与对文件流或者socket流进行操作的同样方式进行对从URLConnection流返回的数据进行操作。
URL进行写的操作

使用java.io stream classes对URL进行写的操作同样也是非常简单的。一旦你建立了一个成功的连接之后,你就可以得到来自此连接的输出流并且开始进行写的操作。当然, 只有对于客户所希望的数据进行写的操作才是有意义的。同样的,在获得并对URLConnection流进行写的操作之前,你还需要使用 setDoOutput(boolean)方式把输出(Output)属性设置为真(true)来指定可以进行写操作的那些连接。Java.io classes允许你把数据写到URLConnection流,这个操作也和你对文件流和socket流进行的写操作一样。
  其它的操作

你可以从URL以及URLConnection对象连接中得到其它类型的信息,比如说主机名、端口、内容长度、内容编码以及内容的类型。把这些方法连同stream I/O classes一起使用可以让你建立复杂而有效的网络客户应用程序和服务。
  对网络的便捷访问

由Java平台所提供的URL class让我们可以方便而有效的访问网络上的资源,而且可以让我们象访问本地文件一样的感到轻松愉快。我们不用为网络通讯的细节问题操心,只需要把注意力集中到制作有用的应用程序和服务上去。

三种连接方法:

// 方法一
           URL url = new URL("http://www.sina.com.cn");
           URLConnection urlcon = url.openConnection();
           InputStream is = urlcon.getInputStream();

            // 方法二
           URL url = new URL("http://www.yhfund.com.cn");
           HttpURLConnection urlcon = (HttpURLConnection)url.openConnection();
           InputStream is = urlcon.getInputStream();

           //方法三
           URL url = new URL("http://www.yhfund.com.cn");
           InputStream is = url.openStream();

具体例子:

long begintime = System.currentTimeMillis();

           URL url = new URL("http://www.yhfund.com.cn");
           HttpURLConnection urlcon = (HttpURLConnection)url.openConnection();
           urlcon.connect();         //获取连接
           InputStream is = urlcon.getInputStream();
           BufferedReader buffer = new BufferedReader(new InputStreamReader(is));
           StringBuffer bs = new StringBuffer();
           String l = null;
           while((l=buffer.readLine())!=null){
               bs.append(l).append("/n");
           }
           System.out.println(bs.toString());

           //System.out.println(" content-encode:"+urlcon.getContentEncoding());
           //System.out.println(" content-length:"+urlcon.getContentLength());
           //System.out.println(" content-type:"+urlcon.getContentType());
           //System.out.println(" date:"+urlcon.getDate());

           System.out.println("总共执行时间为:"+(System.currentTimeMillis()-begintime)+"毫秒");
        }catch(IOException e){
           System.out.println(e);
       }
    }
}

原文地址:https://www.cnblogs.com/wenhuang/p/9891199.html

时间: 2024-10-10 14:57:24

Java的URL类(一)的相关文章

java   net --------------------------------URL类

java   net ---------------------------URL类 package java_net; import java.net.MalformedURLException; import java.net.URL; /*  * 测试URL类  */ public class URL_Test {  public static void main(String[] args) { try { //我们需要构造一个URL对象,构造方法有很多种 /*  * 1.通过一个字符串

java之URL类

Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平台现在已经可 以对国际互联网以及URL资源进行访问了.Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷.我们通过使用Java的URL类 就可以经由URL完成读取和修改数据的操作. 通过一个URL连接,我们就可以确定资源的位置,比如网络文件.网络页面以及网络应用程序等.其中包含了许多的语法元素.  从URL得到的数据可以是多种多样的,这些都需要一种统一的机制来完成对URL的读取与修改操作.Java语言在它的

Java的URL类(二)

转:https://www.cnblogs.com/brokencolor/p/8575440.html Java的URL类(二) 实例: Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据 package Demo.Test; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.ne

java.net.Url类的应用(网络编程)

一.认识URL 类 URL 代表一个统一资源定位符,它是指向互联网"资源"的指针.资源可以是简单的文件或目录,也可以是更为复杂的对象的引用,例如对数据库或搜索引擎的查询. 简单的可以把URL理解为包含:协议.主机名.端口.路径.查询字符串和参数等对象.每一段可以独立设置. 应用程序也可以指定一个"相对 URL",它只包含到达相对于另一个 URL 的资源的足够信息.HTML 页面中经常使用相对 URL. 相对 URL 不需要指定 URL 的所有组成部分.如果缺少协议.

java.net URL类的使用

URLDecoder.decode(String str)  将一个url进行解码 URL ul= new URL(uu);  构建URL对象 ul.getQuery() 得到参数请求部分 ul.getPort() 得到端口 ul.getProtocol() 得到协议 版权声明:本文为博主原创文章,未经博主允许不得转载.

JAVA学习第六十三课 — 关于客户端服务端 && URL类 & URLConnection

常见的客户端和服务端 客户端:       浏览器:IE:弹窗口,猎豹:弹窗口,多标签,争强效果 服务端:       服务器:TomCat:1.处理请求 2.给予应答 想让TomCat为我们工作,那么java写的相关类类必须实现interface Serverlet 浏览器强大之处就在于解析能力,众多格式,都可以解析 服务端和客户端原理 自定义服务端: public static void main(String[] args) throws IOException { ServerSocke

java.net包中的URL类

URI(unform Resources Identifier)是统一资源标识符,用来唯一地标示一个资源,即一个资源对应一个URI.由四部分组成,协议.存放资源的主机域名.资源文件名,端口号. URL(unform Resource Locator)是统一资源定位器,是一种具体的URI.可以把URL看作是指向互联网资源的”指针“. 资源文件名包含文件路径,通常是相对路径,相对于你访问的应用.java.net包有个URL类,提供多种构造方法,有一个参数的,URL( "http://www.baid

Java URL类踩坑指南

背景介绍 最近再做一个RSS阅读工具给自己用,其中一个环节是从服务器端获取一个包含了RSS源列表的json文件,再根据这个json文件下载.解析RSS内容.核心代码如下: class PresenterImpl(val context: Context, val activity: MainActivity) : IPresenter { private val URL_API = "https://vimerzhao.github.io/others/rssreader/RSS.json&qu

Java依据Url下载图片

package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.sql.ResultSet; import ja