URL类演示
URLDemo程序演示这些方法的使用以及一个URL的不同部分
/*URLDemo.java
*演示URL类的用法。
*/
package ch18;
import java.net.*;
import java.io.*;
public class URLDemo {
public static void main(String[] args) {
try {
URL url = new URL
("http://www.lovoinfo.com/courseware/index.html?title=btw#mid");
System.out.println("URL为:" + url.toString());
System.out.println("协议为:" + url.getProtocol());
System.out.println("授权部分为: " + url.getAuthority());
System.out.println("文件名为:" + url.getFile());
System.out.println("主机为:" + url.getHost());
System.out.println("路径为:" + url.getPath());
System.out.println("端口为" + url.getPort());
System.out.println("默认端口为:" + url.getDefaultPort());
System.out.println("查询字符串为:" + url.getQuery());
System.out.println("引用锚点为:" + url.getRef());
} catch (IOException e) {
e.printStackTrace();
}
}
}
效果如下图:
下面演示了如何读取网页并保存在本地html文件中
package com.work.net.url;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import com.work.net.util.CloseUtil;//这个工具类只是我写来用于关流的
public class URLDemo02 {
public static void main(String[] args) {
URL url = null;
BufferedWriter writer = null;
BufferedReader reader = null;
String path = "d://files/baidu.html";
try {
File file = new File(path);
url = new URL("http://www.baidu.com");
//通过该url去获取具体的输入流
reader = new BufferedReader(new InputStreamReader(url.openStream(), "utf-8"));
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
int lenth = 0;
char [] data = new char[1024];
//边读边写
while((lenth = reader.read(data)) != -1) {
writer.write(data, 0, lenth);
}
writer.flush();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
CloseUtil.closeIO(writer,reader);
}
}
}
URLConnection类演示
URLConnectionDemo程序连接到一个URL(http://www.lovoinfo.com),然后读出网站首页的信息。
/*URLConnectionDemo.java
* URLConnection使用演示
*/
package ch18;
import java.net.*;
import java.io.*;
public class URLConnectionDemo {
public static void main(String[] args) {
try {
URL url = new URL("http://www.sanxuau.com");
URLConnection urlConnection = url.openConnection();
HttpURLConnection connection = null;
if (urlConnection instanceof HttpURLConnection) {
connection = (HttpURLConnection) urlConnection;
} else {
System.out.println("请输入一个HTTP URL。");
return;
}
BufferedReader in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String urlString = "";
String current;
while ((current = in.readLine()) != null) {
urlString += current;
}
System.out.println(urlString);
} catch (IOException e) {
e.printStackTrace();
}
}
}