• Java URL类的标准使用流程


    使用流程

    1.创建一个URL类的对象url

    2.通过URL类的对象url打开网络连接,并得到连接对象conn

    3.通过连接对象,得到用于读出网页内容的输入流is

    4.将上述字节流is 装饰为字符流,将字符流再装饰为一次能读取一行的字符流br

    5.通过字符流br,读取一行内容,并将内容存储到变量text中

    需要用到几个包

    1.URL:

      public URL(String protocol, String host, int port, String file) throws MalformedURLException.

      通过给定的参数(协议、主机名、端口号、文件名)创建URL。

      public URLConnection openConnection() throws IOException

      打开一个URL连接,并运行客户端访问资源。

    2.URLConnection

      URLConnection 是一个抽象类,代表应用程序和 URL 之间的通信链接。它的实例可用于读取和写入此 URL 引用的资源。该类提供了比 Socket 类更易于使用、更高级的网络连接抽象。

      通过 URL 对象的 openConnection() 方法可以获取URLConnection对象。

    3.InputStream

      字节输入流。

    4.InputStreamReader

    API文档说明:InputStreamReader类是从字节流到字符流的桥接器:它使用指定的字符集读取字节并将它们解码为字符。 它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。

    每次调用一个InputStreamReader的read()方法都可能导致从底层字节输入流中读取一个或多个字节。 为了实现字节到字符的有效转换,可以从基础流中提取比满足当前读取操作所需的更多字节。

    为了获得最高效率,请考虑在BufferedReader中包装InputStreamReader。

      new InputStreamReader(System.in);
     

    5.BufferedReader

    API文档描述:

    BufferedReader类从字符输入流中读取文本并缓冲字符,以便有效地读取字符,数组和行

    可以通过构造函数指定缓冲区大小也可以使用默认大小。对于大多数用途,默认值足够大

    由Reader构成的每个读取请求都会导致相应的读取请求由基础字符或字节流构成,建议通过BufferedReader包装Reader的实例类以提高效率如

    BufferedReader br=new BufferedReader(new InputStreamReader(System.in))

    以下是标准代码

     1 import java.io.BufferedReader;
     2 import java.io.IOException;
     3 import java.io.InputStream;
     4 import java.io.InputStreamReader;
     5 import java.net.URL;
     6 import java.net.URLConnection;
     7 
     8     public static void main(String[] args) throws IOException {
     9         //    1.创建一个URL类的对象url
    10         URL url = new URL("https://www.baidu.com/");
    11         //    2.通过URL类的对象url打开网络连接,并得到连接对象conn
    12         URLConnection conn = url.openConnection();
    13         //    3.通过连接对象,得到用于读出网页内容的输入流is
    14         InputStream is = conn.getInputStream();
    15         //    4.将上述字节流is 装饰为字符流,将字符流再装饰为一次能读取一行的字符流br
    16         BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
    17         //    5.通过字符流br,读取一行内容,并将内容存储到变量text中
    18         String text = br.readLine();
    19         //    6.科技将读取到的内容text 输出显示到控制台
    20         System.out.println(text);
    21     }
  • 相关阅读:
    使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
    算法7-4:宽度优先搜索
    R语言字符串函数
    notepad++ 正则表达式
    MySQL常用命令
    linux下对符合条件的文件大小做汇总统计的简单命令
    Linux系统下统计目录及其子目录文件个数
    R: count number of distinct values in a vector
    ggplot2 demo
    R programming, In ks.test(x, y) : p-value will be approximate in the presence of ties
  • 原文地址:https://www.cnblogs.com/misaki-workshop/p/13154062.html
Copyright © 2020-2023  润新知