`
Fenley
  • 浏览: 80109 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

通过JAVA语言实现使用URL访问网络资源

    博客分类:
  • Java
阅读更多
1.URL描述
URL是统一资源定位符(Uniform Resource Locator)的简称.它表示互联网上某一资源的地址.浏览器通过给定的URL可以找到相应的文件或其他资源.在某些情况下,URL中除IP地址以外的部分可以省略.例如:在浏览器地址栏输入java.sun.com,浏览器会默认使用http协议及相应的端口号,并使用Web服务器提供的默认的文件.URL的一般例子,如: http://java.sum.com , ftp:192.168.10.233 及http://java.sum.com/javase/downloads/index.jsp.
在java中,使用java.net中的URL类可以创建代表互联网上某一具体资源的URL对象.通过此对象,利用相关的方法,可以轻松的进行网络资源的存取.
2.1 URL类
java.net 包提供URL类,用URL对象表示URL地址.
(1) URL类的构造方法
URL类提供多种不同的构造方法,用于以不同形式创建URL对象.
public URL(String spec) throws MalformedURLException
public URL(URL context, String spec) throws MalformedURLException
public URL(String protocol, String host, String file) throws MalformedURLException
public URL(String protocol, String host, int port, String file) throws MalformedURLException
其中,参数spec是由协议名,主机名,端口号,文件名组成的字符串.参数context是已建立的URL对象,参数protocol是协议名,参数host是主机名,参数file是文件名,对数port是端口号.
下面通过各种构造方法创建URL对象,分别以不同的方式提供URL地址的各部分信息
URL myURL1=new URL(“http://www.tju.edu.cn:80/”);
URL myURL2=new URL(“myURL1”,”support/fap.html”);
URL myURL3=new URL(“http”,”www.tju.edu.cn”,”index.html”);
URL myURL4=new URL(“http”,”www.tju.edu.cn”,80,”index.html”);
上面的myURL2地址是由myURL1地址和用相对路径表示的文件名会成的,代表的URL地址是:http://www.tju.edu.cn:80/support/fap.html
(2)获取URL对象的属性
一个URL对象中包括各种属性,属性不能被改变,但可以通过下面的方法获取属性
public String getProtocol()   //获取URL的协议名
public String getHost() //获取URL 的主机名
public int getPort() //获取URL的端口号
public String getPath() //获取URL的文件路径
public String getFile() //获取URL的文件名
public String getRef() //获取URL在文件中的相对位置
public String getQuery() //获取URL的查询名
2.2 利用URL访问网上资源
一个URL对象对应一个网址,,生成URL对象后,就可以调用URL对象的openStream()方法读取网址中的信息.openStream()方法的原型如下:
public final InputSream openStream()
调用openStream()方法获取的是一个InputSream输入流对象,通过read()方法只能从这个输入流中逐字节读取数据,也就是从URL网址中逐字节读取信息,为了能方便地从URL读取信息,通常将原始的InputSream输入流转变为其他类型的输入流,如BufferedReader等,比如读出网址www.sina.com.cn的主页内容.
package com.fenley.test;

import java.net.*;
import java.io.*;

public class Web {

/**
* @param args
*/
public static void main(String[] args) {
URL url=null;
InputStream is=null;
try{
url=new URL("http://www.sina.com.cn");
is=url.openStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String line;
while((line=br.readLine())!=null)
System.out.println(line);
}catch(Exception ex){
ex.printStackTrace();
}finally{
try {
if (is != null)
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

}


从以上实现网络资源的存取程序代码来看,使用java.net中的URL类可以轻松实现网络资源的存取.只是要注意:URL类的构造方法都抛出MalformedURLException异常,用于处理创造URL对象可能产生的异常.
3. 结束语
上面实现的网络资源的存取只是简单地使用java.net中的URL类实现的过程,但却很实用,对于开发java在内置的网络能力方面将具有一定的指导的意义.
分享到:
评论

相关推荐

    通过JAVA语言实现使用URL访问网络资源.pdf

    通过JAVA语言实现使用URL访问网络资源.pdf

    JAVA语言程序设计【高清版】.pdf

    第1章 Java语言 1 1.1 Java语言简介 1 1.1.1 Java语言的问世 1 1.1.2 Java语言的组成 1 1.2 开发环境的安装 3 1.3 一个简单的Java应用程序 4 1.3.1 Java应用程序示例 4 1.3.2 使用Java核心API文档 7...

    Java Socket通信资料.doc

    Java是一种可用于进行网络编程的语言,它提供了两种功能强大的网络支持机制:URL访问网络资源的类和用Socket通讯的类,来满足不同的要求。一是URL用于访问Internet网上资源的应用;另一种是针对client/server(客户端...

    Java资源包01

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包4

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    JAVA上百实例源码以及开源项目

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    JAVA上百实例源码以及开源项目源代码

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    java开源包3

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包8

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包11

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包6

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包9

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包101

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包5

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包10

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    42道Java网络编程相关面试题含答案(很全)

    URL和URLConnection:URL是Java中表示统一资源定位符的类,用于访问互联网上的资源。URLConnection类提供了一种访问URL资源的方式,可以读取URL指向的数据流。 HttpURLConnection类:HttpURLConnection是...

    java开源包1

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    基础深化和提高-网络编程

    Java网络编程是指使用Java编程语言进行网络通信和相关操作的技术。通过Java的网络编程能力,开发人员可以创建客户端-服务器应用程序、实现数据传输、远程调用等功能。 Java的网络编程通常涉及以下几个方面: ...

Global site tag (gtag.js) - Google Analytics