Java网络编程

本文介绍了Java中URL类的基本概念及其使用方法,包括如何创建URL对象、解析URL的各个组成部分,并展示了通过URL获取网络资源的具体示例。

Java语言提供了丰富的网络编程类库,因此它非常适合用于网络编程,强大快捷的网络编程功能正是Java备受欢迎的主要原因之一。

 Java的网络功能由几个不同的包实现,基本的网络功能定义在java.net包中。其中的接口和类可以大致分为三部分:URLURLConnectionSocket

URL(Uniform/Universal Resource Locator )统一资源定位符号。  

通过URL可以访问Internet上的各种网络资源。URL的基本结构由如下5部分组成:

   <传输协议>//<主机名><端口号>/<文件名>#<引用>

   传输协议(protocol)有HTTP、FTP、File等。默认为HTTP协议。

  主机名(hostname)指定资源所在的主机名。主机名可以是IP地址,也可以是主机的名字或者域名。

  端口号(port)端口号用来区分一个计算机中提供的不同服务,如Web服务、FTP服务等。每一种服务都用一个端口号,范围是0~65535。在URL中,hostname后面的冒号及端口号是可以省略的,HTTP的默认端口号是80。

URL类的构造方法

1publicURL(String spec):使用URL字符串构造一个URL对象URLu1=new URL("http://www.huanghuai.edu.cn"); 

2publicURL(String protocol,Stringhost,Stringfile)用指定的协议、主机名、文件路径及文件名创建一个URL对象;

URLu2=new URL("http","www.huangguai.edu.cn","/~xyx/doc/manhua.html");

3publicURL(String protocol,Stringhost,intport,Stringfile)用指定的协议、主机名、端口号、文件路径及文件名创建一个URL对象。第一个String类型的参数是协议的类型,可以是HTTP、FTP等。第二个String类型参数是主机上的某个文件(可以包括目录),int类型参数是指定端口号,最后一个参数给出文件名或路径名。

URLu3=new URL("http","www.huanghuai.edu.cn",80,"/~xyx/doc/manhua.html");


java中实现URL类,可以使用java工具类中的URL的类,实例如下:

import java.io.*;
import java.net.*;
public class URLTest
{
	public static void main(String[] args)
	{
	try
	{
		URL url=new URL("http://sports.163.com:80/nba/");//创建资源类型
		String protocol=url.getProtocol();//获取资源类型
		String host=url.getHost();//获取域名
		int port=url.getPort();//获取端口
		String file=url.getFile();//获取路径
		System.out.println("url地址的资源类型为:"+protocol+"域名为:"+host+"端口为:"+port+"路径为:"+file);
		InputStream is=url.openStream();//获取页面信息流
		BufferedReader bfr=new BufferedReader(new InputStreamReader(is));//封装成字符流
		String len;
		while((len=bfr.readLine())!=null)
		{
			System.out.println(len);
		}
		bfr.close();
		is.close();
	}
	catch(MalformedURLException e)
	{
		System.out.println("创建URL对象发生异常");
	}
	catch(IOException e)
	{
		System.out.println("发生IO操作异常");
	}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值