JAVAIO-URLCONNECTIONS

URL Connection和URL有着密切的联系,就像名字一样。你通过URL的openConnection()方法得到一个URL Connection的引用。
在大多数情况下,URL只是对URL Connection对象的一种封装。然而URL提供了更多的控制。

URL Connection不仅仅提供了让客户端读取服务器上信息的能力,而且提供了OutputStream使得,客户端的文件可以发送向服务器。

java.net.URLConnection类是一个处理多种不同类型服务器的抽象类,比如FTP服务器和web服务器。
一.从URL Connection中读取数据
1.构造URL对象
2.通过openConnection()方法创建一个URLConnection对象
3.连接的参数和需要的属性已经设置完毕
4.使用connect()方法建立连接,可能是使用socket的网络连接,也可能是文件读入流的本地连接。响应的头部信息从服务器传入。
5.使用InputStream来读取数据,或者使用相应(MIME 类型)content handler的getContent()方法。
举个如下的例子:

public class ShootHzj {
    public static void main(String[] args) throws IOException {
        URL url = new URL("http://www.huawei.com");
        URLConnection uc = url.openConnection();
        uc.connect();
        InputStream in = uc.getInputStream();
        //...after operation
        //close the stream
        in.close();
    }
}

如果连接无法被建立,会抛出一个IOException。

二.向URL中写入数据
1.构造URL对象
2.通过openConnection()方法创建一个URLConnection对象
3.调用setDoOutput(boolean doOutput)方法并传入true表明这个连接会被用于写入数据
4.如果你仍然想从InputStream中读取数据,调用setDoInput(boolean doInput)方法并传入true表明这个连接会被用于读取数据
5.创建你想要写入的数据
6.调用getOutputStream拿到OutputStream对象。把第5步中的数据写入其中
7.关闭输出流

下面是一个例子:

public class MailClient {
  public static void main(String[] args) {
    if (args.length == 0) {
      System.err.println("Usage: java MailClient username@host.com");
      return;
    }
    try {
      URL u = new URL("mailto:" + args[0]);
      URLConnection uc = u.openConnection();
      uc.setDoOutput(true);
      uc.connect();
      OutputStream out = uc.getOutputStream();
      StreamCopier.copy(System.in, out);
      out.close();
     }
    catch (IOException e) {System.err.println(e);}
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 本文整理自MIN飞翔博客 [1] 1. 概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或...
    HoyaWhite阅读 2,706评论 2 20
  • 今天去了趟东海大桥,天是蓝的,云是白的,水是黄的,从头到尾都是黄的。大海总是离不开大风,大风里夹着大风车,...
    东风壹号阅读 1,198评论 0 0
  • 雁南飞了 枯叶落了 蝉声老在了旧窗台前 秋风撩起了谁的几丝愁绪 徐徐的哀怜又凝在谁的眉间 我不去咏叹 我不去管 春...
    钟霖阅读 387评论 6 34
  • 儿童节,挺向往的一个节日,一个曾经也属于过我的节日。现在确变成了一个自嘲的节日。恩~因为我们都不想长大,尝过长大的...
    不哑嗓子的唐老鸭阅读 394评论 2 0