Java Network Programming 笔记
n5
三 利用URL类获取数据
chapter 7 Retrieving Data with URLs
1 建立URL对象
当JVM不支持url的协议时抛出MalformedURLException
(1)public URL(String url) throws MalformedURLException
(2)public URL(String protocol, String hostname, String file) throws MalformedURLException
此构造器设置port为-1,所以协议的默认端口将被使用。
file参数应该以"/"开始,包含一个路径,文件名,和一个可选的锚点
例如: URL u = new URL("http","www.eff.org","/blueribbon.html#intro") ;
(3)public URL(String protocol,String host, int port, String file) throws MalformedURLException
可以指定端口,其他和第二个构造器相同
(4)public URL(URL base,String relative) throws MalformedURLException
从一个相对的URL地址和一个base URL对象创建一个绝对URL对象
例如:
try{
URL u1 = new URL("http://www.myweb.com/java/index.html") ;
URL u2 = new URL(u1,"test.html") ;
}
catch(MalformedURLException e){}
去掉u1的文件名,然后加上新文件名test.html,就构成了u2
2得到URL的组成
getFile()返回总的路径(并非文件名)即为URL中从第一个"/"开始到"#"为止的内容。如果没有file部分,java1.3返回一个空字符串,java1.1,1.2返回"/"
getHost()返回主机名,不包含user:user这样的用户信息
getPort()如果URL中没指定端口,则返回-1
getProtocol()
getRef()返回指定的锚点,如果没有锚点返回null
//since java1.3
getQuery()
getPath()和getFile()完全相同
getUserInfo()
getAuthority()
3 从URL得到数据
(1) public final InputStream openStream() throws IOException
打开URL,得到一个InputStream得到数据
(2) public URLConnection openConnection() throws IOException
打开URL,得到一个URLConnection对象,URLConnection对象表示网络资源的一个开放连接。当想要直接与服务器通讯时可使用该方法。URLConnection可以得到服务器发送的任何东西,而不仅仅是文档本身。而且还可以写数据。
(3) public final Object getContent() throws IOException
将从URL下载来的数据看作一个对象,比如图片,文本,声音,或一个InputStream对于不能理解的对象。可以用instance of判断到底是哪种对象,并cast为该对象。
(4) public final Object getContent(Class[] classes) throws IOException //java1.3
可指定哪些种类的class被返回。该方法按照classes数组的顺序依次尝试返回内容。
4 工具方法
public boolean sameFile(URL other)
测试两个URL是否指向同一个文件。
public String toExternalForm()
返回一个人类可读的String表示URL,和toString()方法等同。因此不常用这个方法。
5 public boolean equals(Object o)
相等的含义:Object o也是一个URL对象,两个URL都指向同一个file(sameFile()定义的),并且两个URL有相同的引用或都是null。
分享到:
相关推荐
《Java网络编程》是Elliotte Rusty Harold撰写的一本经典书籍,主要涵盖了Java平台上的网络应用程序开发。这本书深入浅出地介绍了如何使用Java进行网络通信,包括套接字编程、HTTP协议、DNS解析以及多线程等核心概念...
Chapter 3. Basic Web Concepts Section 3.1. URIs Section 3.2. HTML, SGML, and XML Section 3.3. HTTP Section 3.4. MIME Media Types Section 3.5. Server-Side Programs Chapter 4. Streams ...
### Java网络编程与分布式计算关键知识点 #### 一、Java网络编程基础 ##### 1. 网络架构与TCP/IP协议 - **互联网架构**:本书首先介绍了互联网的基本架构,包括不同层次的功能划分以及各层之间的交互方式。这对于...
《Addison Wesley - Java Network Programming and Distributed Computing》是一本深入探讨Java编程在网络和分布式计算领域的专著。这本书旨在帮助读者理解如何利用Java语言构建高效、可靠的网络应用程序,并且掌握...
《Java Network Programming 2nd》是一本专注于Java网络编程的权威指南,主要涵盖了使用Java语言进行网络应用开发的各种技术和实践。这本书深入浅出地讲解了如何利用Java API进行网络通信,包括TCP/IP套接字、多线程...
An Introduction to Network Programming with Java
Java Network Programming 4th.epub
比较经典的讲stream,socket的书吧,具体信息可以去各商城上看,本人也买了纸质书,这个仅为在电脑或pad上看着方便
java网络编程 Java.Network.Programming.3rd.Edition.Oct.2004
Java provides numerous classes that have evolved over the years to meet evolving network needs. These range from low-level socket and IP-based approaches to those encapsulated in software services. ...
Neural Network Programming with Java 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请...
《Java Network Programming (Third Edition)》是一本专为Java开发者深入理解网络编程而编写的经典教程。这本书详尽地介绍了如何使用Java语言进行网络通信,包括基础概念、API使用、协议实现以及网络应用开发的实战...