URL类
URL类是java.net包中的一个重要的类,使用URL创建对象的应用程序成为客户端,一个URL对象封装着一个具体的资源的引用,表名客户端要访问这个URL中的资源。一个URL对象通常包含最基本的三部分信息:协议,地址 和 资源。
协议:协议必须是URL对象所在的Java虚拟机支持的协议。常用的协议是HTTP ,File,Ftp协议。
地址:必须是能够链接的有效的IP地址或者域名。
资源:可以是主机上的任何一个文件。
URL的构造方法
(1) public URL(String spec) throws MalformedURLException.
(2) public URL(String protocol , String host , String file) throws MalformedURLException
该构造方法使用的协议,地址和资源分别由参数来指定。
读取URL中的资源
URL对象调用InputStream openStream() 方法可以返回一个输入流,该输入流指向URL对象包含的资源。通过该输入流可以将服务器上的资源信息读入到客户端。
public class URLTest {
Scanner scanner;
URL url;
Thread mThread ;
public static void main(String[] args) {
Scanner scanner;
URL url;
Thread mThread ; //负责打开网页的线程
Look look = new Look();// 线程的目标对象
System.out.println("请输入URL资源");
scanner = new Scanner(System.in);
String str = scanner.nextLine();
try {
url = new URL(str);
look.setUrl(url);
mThread = new Thread(look);
mThread.start();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
class Look implements Runnable{
URL url;
@Override
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);
// }
} catch (IOException e) {
e.printStackTrace();
}
}
public void setUrl(URL url){
this.url = url;
}
}
未完待续。。。。。。