在 java 中从 URL 连接读写有哪些关键步骤?


java.net 包中的 URL 类表示一个统一资源定位符,用于指向万维网中的资源(文件或目录或引用)。

这个类提供各种构造函数,其中一个接受 String 参数并构造 URL 类的对象。

这个类的 openStream() 方法打开到当前对象表示的 URL 的连接,并返回一个 InputStream 对象,使用该对象可以从 URL 读取数据。

因此,要从网页中读取数据(使用 URL 类),需要执行以下操作:

  • 通过将所需网页的 URL 作为其构造函数的参数传递来实例化 java.net.URL 类。

  • 调用 openStream() 方法并检索 InputStream 对象。

  • 通过将上述检索到的 InputStream 对象作为参数传递来实例化 Scanner 类。

示例

import java.io.IOException;
import java.net.URL;
import java.util.Scanner;
public class ReadingWebPage {
   public static void main(String args[]) throws IOException {
      //Instantiating the URL class
      URL url = new URL("http://www.something.com/");
      //Retrieving the contents of the specified page
      Scanner sc = new Scanner(url.openStream());
      //Instantiating the StringBuffer class to hold the result
      StringBuffer sb = new StringBuffer();
      while(sc.hasNext()) {
         sb.append(sc.next());
         //System.out.println(sc.next());
      }
      //Retrieving the String from the String Buffer object
      String result = sb.toString();
      System.out.println(result);
      //Removing the HTML tags
      result = result.replaceAll("<[^>]*>", "");
      System.out.println("Contents of the web page: "+result);
   }
}

输出

<html><body><h1>Itworks!</h1></body></html>
Contents of the web page: Itworks!

更新于: 14-10-2019

237 人次浏览

Kickstart Your 职业

通过完成课程获得认证

开始
广告