Java语言提供了丰富的网络编程类库,因此它非常适合用于网络编程,强大快捷的网络编程功能正是Java备受欢迎的主要原因之一。
Java的网络功能由几个不同的包实现,基本的网络功能定义在java.net包中。其中的接口和类可以大致分为三部分:URL、URLConnection和Socket。
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类的构造方法
1、publicURL(String spec):使用URL字符串构造一个URL对象URLu1=new URL("http://www.huanghuai.edu.cn");
2、publicURL(String protocol,Stringhost,Stringfile):用指定的协议、主机名、文件路径及文件名创建一个URL对象;
URLu2=new URL("http","www.huangguai.edu.cn","/~xyx/doc/manhua.html");
3、publicURL(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操作异常"); } } }