zoukankan      html  css  js  c++  java
  • URL及URLConnection的小结

    URL的基本概念
    URL表示了Internet上一个资源的引用或地址
    URL通常用来表示3w上的一个文件。
    URL是由一个字符串来描述的,它包括两个部分,这两个部分用“://”进行分隔
    (1).协议标识:表示访问资源所需的协议,例如Http,FTP等
    (2).资源名称:表示要访问的资源地址,资源名称的格式完全取决于所使用的协议
    大部分的协议(包括HTTP的资源协议都包含以下几个部分)
    .主机名:资源所在的主机名称
    .文件名:要访问的文件在主机上的路径及文件名
    .端口号:要连接的端口号,一般是可选的,用协议默认的端口号
    .引用:指向资源内部某个特定位置的引用,一般是可选的

    一.URL对象的创建
    java中定义了URL类来描述URL,一个URL表示一个URL地址,可以通过下列构造方法初始化一个URL对象
    (1).public URL(String spec)
    例:URL urlBase=new URL(“http://www.baidu.com/”)
    (2).public URL(URL context,String spec)
    通过基地址URL和表示相对路径的字符串构造一个URL对象
    例: URL net=new URL(“http://www.baidu.com/”);
    URL index=new URL(net,“index.html”)
    (3).public URL(String protocal,String host,String file)
    通过协议名,主机名和文件名构造一个URL对象
    例:new URL(“http”,“www.gamelan.com”,"/pages/Gamelan.net.html")

    二.URL的解析
    URL类提供了访问URL对象的方法0
    。getProtocol()——获取该URL的协议名
    。getHost()——获取该主机的URL的主机名
    。getPort()——获取该URL的端口号
    。getFile()——获取该URL的文件名
    。getRef()——获取该URL文件的相对位置(引用)

    从URL直接读:
    URL geogle=new URL(“http://www.geogle.com/index,html”);
    BufferedReader in=new BufferedReader(new InputStreamReader(geogle.openStream()))//直接读

    其他的基于URLConnection的读写粗略的讲下
    {
    URL geogle=new URL(“http://www.geogle.com/index,html”);//创建该URL的·一个连接对象
    URLConnection geogleConnection=geogle.openConnection();
    }

    从URLConnection读
    {
    URL geogle=new URL(“http://www.geogle.com/index,html”);
    URLConnection geogleConnection=geogle.openConnection();
    BufferedReader in=new BufferedReader(new InputStreamReader(gl.getInputStream()))
    }

    对URLConnection写

    {
    URL geogle=new URL(“http://www.geogle.com/index,html”);
    URLConnection geogleConnection=geogle.openConnection();
    geogleConnection.setDoOutput(true)//设置允许写出
    PrintWriter out=new PrintWriter(geogle.getOutputStream())
    }

    更详细的要看书了!
    当作对URL的复习看吧!

  • 相关阅读:
    Android Studio 第一次启动应该注意的事项
    synchronized 和 volatile 比较
    synchronized 和 volatile 比较
    【Light】[1214]Large Division
    【Light】[1214]Large Division
    【Light】[1116]Ekka Dokka
    【Light】[1116]Ekka Dokka
    【Light】[1078]Integer Divisibility
    【Light】[1078]Integer Divisibility
    【Light】[1008]Fibsieve`s Fantabulous Birthday
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13310000.html
Copyright © 2011-2022 走看看