URL类:
一个URL对象包含 协议.地址.资源三部分信息
构造方法:
public URL(String s) s为IP地址或者域名
连接:使用openConnection来实现连接,在读取资源和内容之前
读取资源:
使用setDoOutput(boolean)来制定可以进行写操作。
有关方法:
调用InputStream openStream()
方法可以返回一个输入流,该输入流指向URL对象所包含的资源
具体实现:
1.URL url = new URL(“http://www.baidu.com”);
InputStream is = url.getopenStream();
2.URL url = new URL(“http://www.baidu.com”);
URLConnection urlcon = url.openConnection;
InputStream is = urlcon.getInputStream;
3.URL url = new URL(“http://www.baidu.com”);
HttpURLConnection urlcon =(HttpURLCOnnection)url.openConnection();
InputStream is = urlcon.getInputStream();
实例:
import java.net.*;
import java.util.*;
import java.io.*;
class Look implements Runnable{
URL url;
public void setURL(URL url){
this.url=url;
}
public void run() {
try {
InputStream in = url.openStream();
byte [] b = new byte[1024];
int n = -1;
while((n=in.read(b))!=-1) {
String str = new String(b,0,n);
System.out.println(str);
}
}catch(IOException exp) {}
}
}
public class IO {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
URL url;
Thread read;
Look look = new Look();
String str = new String();
str = sc.nextLine();
try {
url = new URL(str);
look.setURL(url);
read = new Thread(look);
}catch(Exception e) {
System.out.println(e);
}
read = new Thread(look);
read.start();
}}
InetAdress类
获取internet主机的地址:
使用静态方法getByName(String s);
获取InetAddress对象的域名
public String getHostName()
获取InetAddress对象的IP
public String getHostAddress()
套接字:
套接字为端口号和ip地址组合得出,为实现两程序之间的通信
Socket类建立负责链接到服务器的套接字对象
构造方法:
Socket(String host,int port);分别为服务器IP地址和端口号
客户端和服务端都需要建立套接字,客户端使用Socket,而服务端则使用ServerSocket建立。而且两者使用端口应该相同。
注意:
在建立套接字时间可能出现IO异常,因此应该排除异常
实例:
try{
Socket mysocket ;
mysocket = new socket(“http://www.baidu.com”,20);
}catch(IOException e){}
服务端调用accept()方法来返回一个与客户端相连的Socket对象.
该对象使用getOutStream()获得输出流,将指向客户端的Socket的对象调用个体InputStream()获得输入流,两者刚好相反