标题：java.net
javanet简介
javanet是Java技术相关的社区网站，它还提供了基于网络的一个Java项目的源代码库。
接口摘要
ContentHandlerFactory ；此接口定义内容处理程序的工厂。
CookiePolicy CookiePolicy 实现决定应该接受哪个 cookie 以及应该拒绝哪个 cookie。
CookieStore ；表示 cookie 存储区的 CookieStore 对象。
DatagramSocketImplFactory ；此接口定义用于数据报套接字实现的工厂。
FileNameMap ；提供在文件名和 MIME 类型字符串之间进行映射的机制的简单接口。
SocketImplFactory ；此接口定义用于套接字实现的工厂。
SocketOptions ；获取/设置套接字选项的方法的接口。
URLStreamHandlerFactory ；该接口为 URL 流协议处理程序定义一个工厂。
类摘要
Authenticator Authenticator 类表示懂得如何获得网络连接验证的对象。
CacheRequest ；表示在 ResponseCache 中存储资源的通道。
CacheResponse ；表示从 ResponseCache 获取资源的通道。
ContentHandler 抽象类 ContentHandler 是从 URLConnection 读取 Object 的所有类的超类。
CookieHandler CookieHandler 对象提供一种回调机制以将 HTTP 状态管理策略实现挂钩到 HTTP 协议处理程序。
CookieManager CookieManager 提供 CookieHandler 的具体实现，它将 cookie（辨别用户身份的本地终端数据） 的存储区与围绕接受和拒绝 cookie 的策略分离开来。
DatagramPacket ；此类表示数据报包。
DatagramSocket ；此类表示用来发送和接收数据报包的套接字。
DatagramSocketImpl ；数据报和多播套接字实现的抽象基类。
HttpCookie HttpCookie 对象表示一个 http cookie，该 cookie 带有服务器和用户代理之间的状态信息。
HttpURLConnection ；支持 HTTP 特定功能的 URLConnection。
IDN ；提供在普通 Unicode 表示形式和 ASCⅡ 兼容性编码 (ACE) 表示形式之间进行国际化域名 (IDN) 转换的方法。
Inet4Address ；此类表示 Internet Protocol version 4 (IPv4） 地址。
Inet6Address ；此类表示互联网协议第 6 版 (IPv6） 地址。
InetAddress ；此类表示互联网协议 (IP) 地址。
InetSocketAddress ；此类实现 IP 套接字地址（IP 地址 + 端口号）。
InterfaceAddress ；此类表示网络接口地址。
JarURLConnection ；连接到 Java ARchive (JAR) 文件或 JAR 文件中条目的 URL Connection。
MulticastSocket 多播数据报套接字类用于发送和接收 IP 多播包。
NetPermission ；此类可用于各种网络权限。
NetworkInterface ；此类表示一个由名称和分配给此接口的 IP 地址列表组成的网络接口。
PasswordAuthentication PasswordAuthentication 类是供 Authenticator 使用的数据持有者。
Proxy ；此类表示代理设置，通常为类型（http、socks）和套接字地址。
ProxySelector ；连接到 URL 引用的网络资源时选择要使用的代理服务器（如果有）。
ResponseCache ；表示 URLConnection 缓存的实现。
SecureCacheResponse ；表示最初通过安全方法（如 TLS）获得的缓存响应。
ServerSocket ；此类实现服务器套接字。
Socket ；此类实现客户端套接字（也可以就叫“套接字”）。
SocketAddress ；此类表示不带任何协议附件的 Socket Address。
SocketImpl 抽象类 SocketImpl 是实际实现套接字的所有类的通用超类。
SocketPermission ；此类表示通过套接字对网络的访问。
URI ；表示一个统一资源标识符 (URI) 引用。
URL ；类 URL 代表一个统一资源定位符，它是指向互联网“资源”的指针。
URLClassLoader ；该类加载器用于从指向 JAR 文件和目录的 URL 的搜索路径加载类和资源。
URLConnection 抽象类 URLConnection 是所有类的超类，它代表应用程序和 URL 之间的通信链接。
URLDecoder HTML 格式解码的实用工具类。
URLEncoder HTML 格式编码的实用工具类。
URLStreamHandler 抽象类 URLStreamHandler 是所有流协议处理程序的通用超类。
枚举摘要
Authenticator.RequestorType ；请求验证的实体的类型。
Proxy.Type ；表示代理类型。
异常摘要
BindException ；试图将套接字绑定到本地地址和端口时发生错误的情况下，抛出此异常。
ConnectException ；试图将套接字连接到远程地址和端口时发生错误的情况下，抛出此异常。
HttpRetryException ；抛出此异常指示 HTTP 请求需要重试，但由于启用了流模式而无法自动重试。
MalformedURLException ；抛出这一异常指示出现了错误的 URL。
NoRouteToHostException ；试图将套接字连接到远程地址和端口时发生错误的情况下，抛出此异常。
PortUnreachableException ；在连接的数据报上已接收到 ICMP Port Unreachable 消息时，抛出该异常。
ProtocolException ；抛出此异常指示在底层协议中存在错误，如 TCP 错误。
SocketException ；抛出此异常指示在底层协议中存在错误，如 TCP 错误。
SocketTimeoutException ；如果在读取或接受套接字时发生超时，则抛出此异常。
UnknownHostException ；指示主机 IP 地址无法确定而抛出的异常。
UnknownServiceException ；抛出这一异常指示出现了未知服务异常。
URISyntaxException ；抛出经过检查的指示字符串不能解析为 URI 引用的异常。
软件包 java.net 的描述
为实现网络应用程序提供类。
java.net 包可以大致分为两个部分：
低级 API，用于处理以下抽象：
地址，也就是网络标识符，如 IP 地址。
套接字，也就是基本双向数据通信机制。
接口，用于描述网络接口。
高级 API，用于处理以下抽象：
URI，表示统一资源标识符。
URL，表示统一资源定位符。
连接，表示到 URL 所指向资源的连接。
地址
在整个 java.net API 中，地址或者用作主机标识符或者用作套接字端点标识符。
InetAddress 类是表示 IP（Internet 协议）地址的抽象，它拥有两个子类：
用于 IPv4 地址的 Inet4Address。
用于 IPv6 地址的 Inet6Address。
但是，在大多数情况下，不必直接处理子类，因为 InetAddress 抽象应该覆盖大多数必需的功能。关于
套接字
套接字是在网络上建立机器之间的通信链接的方法。java.net 包提供 4 种套接字：
Socket 是 TCP 客户端 API，通常用于将 (java.net.Socket.connect(SocketAddress)) 连接到远程主机。
ServerSocket 是 TCP 服务器 API，通常接受 (java.net.ServerSocket.accept) 源于客户端套接字的连接。
DatagramSocket 是 UDP 端点 API，用于发送和接收 java.net.DatagramPackets。
MulticastSocket 是 DatagramSocket 的子类，在处理多播组时使用。
使用 TCP 套接字的发送和接收操作需要借助 InputStream 和 OutputStream 来完成，这两者是通过 java.net.Socket.getInputStream 和 java.net.Socket.getOutputStream 方法获取的。
接口
NetworkInterface 类提供 API 以浏览和查询本地机器的所有网络接口（例如，以太网连接或 PPP 端点）。只有通过该类才可以检查是否将所有本地接口都配置为支持 IPv6。
高级 API
java.net 包中的许多类可以提供更加高级的抽象，允许方便地访问网络上的资源。这些类为：
URI 是表示在 RFC 2396 中指定的统一资料标识符的类。顾名思义，它只是一个标识符，不直接提供访问资源的方法。
URL 是表示统一资源定位符的类，它既是 URI 的旧式概念又是访问资源的方法。
URLConnection 是根据 URL 创建的，是用于访问 URL 所指向资源的通信链接。此抽象类将大多数工作委托给底层协议处理程序，如 http 或 ftp。
HttpURLConnection 是 URLConnection 的子类，提供一些特定于 HTTP 协议的附加功能。
建议的用法是使用 URI 指定资源，然后在访问资源时将其转换为 URL。从该 URL 可以获取 URLConnection 以进行良好控制，也可以直接获取 InputStream。
下面是一个示例：
URI uri = new URI("http://java.sun.com/");
URL url = uri.toURL();
InputStream in = url.openStream();
协议处理程序
如上所述，URL 和 URLConnection 都依赖于协议处理程序，所以协议处理程序必须存在；否则将抛出异常。此为与 URI 的主要不同点，URI 仅标识资源，所以不必访问协议处理程序。因此，尽管可能利用任何种类的协议方案（例如，myproto://myhost.mydomain/resource/）创建 URI，但类似的 URL 仍将试图实例化指定协议的处理程序；如果指定协议的处理程序不存在，则抛出异常。
默认情况下，协议处理程序从默认位置动态加载。但是，通过设置 java.protocol.handler.pkgs 系统属性也可能增加搜索路径。例如，如果将其设置为 myapp.protocols，则 URL 代码将首先尝试（对于 http 而言）加载 myapp.protocols.http.Handler，然后，如果失败，则尝试从默认位置加载 http.Handler。
注意，处理程序类必须为抽象类 URLStreamHandler 的子类。
从以下版本开始：
JDK1.0