複製鏈接
請複製以下鏈接發送給好友

java.net

鎖定
並非所有系統都支持 IPv6 協議,而當 Java 網絡連接堆棧嘗試檢測它並在可用時透明地使用它時,還可以利用系統屬性禁用它。在 IPv6 不可用或被顯式禁用的情況下,Inet6Address 對大多數網絡連接操作都不再是有效參數。雖然可以保證在查找主機名時 java.net.InetAddress.getByName 之類的方法不返回 Inet6Address,但仍然可能通過傳遞字面值來創建此類對象。在此情況下,大多數方法在使用 Inet6Address 調用時都將拋出異常
外文名
java.net
類    型
是Java技術相關的社區網站

java.net簡介

javanet是Java技術相關的社區網站,它還提供了基於網絡的一個Java項目的源代碼庫。

java.net接口摘要

ContentHandlerFactory ;此接口定義內容處理程序的工廠。
CookiePolicy CookiePolicy 實現決定應該接受哪個 cookie 以及應該拒絕哪個 cookie。
CookieStore ;表示 cookie 存儲區的 CookieStore 對象。
DatagramSocketImplFactory ;此接口定義用於數據報套接字實現的工廠。
FileNameMap ;提供在文件名和 MIME 類型字符串之間進行映射的機制的簡單接口。
SocketImplFactory ;此接口定義用於套接字實現的工廠。
SocketOptions ;獲取/設置套接字選項的方法的接口。
URLStreamHandlerFactory ;該接口為 URL 流協議處理程序定義一個工廠。

java.net類摘要

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 是所有流協議處理程序的通用超類。

java.net枚舉摘要

Authenticator.RequestorType ;請求驗證的實體的類型。
Proxy.Type ;表示代理類型。

java.net異常摘要

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套接字

套接字是在網絡上建立機器之間的通信鏈接的方法。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