| インタフェース | 説明 | 
|---|---|
| ContentHandlerFactory | このインタフェースは、コンテンツ・ハンドラのファクトリを定義します。 | 
| CookiePolicy | CookiePolicy実装は、どのCookieを受け入れ、どのCookieを拒否すべきかを決定します。 | 
| CookieStore | CookieStoreオブジェクトは、Cookieの記憶領域を表します。 | 
| DatagramSocketImplFactory | このインタフェースは、データグラム・ソケット実装のファクトリを定義します。 | 
| FileNameMap | ファイル名とMIMEタイプ文字列をマップするメカニズムを提供する単純なインタフェースです。 | 
| ProtocolFamily | 通信プロトコルのファミリを表します。 | 
| SocketImplFactory | このインタフェースは、ソケット実装のファクトリを定義します。 | 
| SocketOption<T> | ソケットに関連付けられたソケット・オプション。 | 
| 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を表します。 | 
| HttpURLConnection | HTTP固有の機能をサポートするURLConnectionです。 | 
| IDN | 通常のUnicode表現とASCII互換エンコーディング(ACE)表現との間で国際化ドメイン名(IDN)の変換を行うメソッドを提供します。 | 
| Inet4Address | このクラスは、インターネット・プロトコル・バージョン4 (IPv4)アドレスを表します。 | 
| Inet6Address | このクラスは、インターネット・プロトコル・バージョン6 (IPv6)アドレスを表します。 | 
| InetAddress | IP (Internet Protocol)アドレスを表すクラスです。 | 
| InetSocketAddress | このクラスは、IPソケット・アドレス(IPアドレス+ポート番号)を実装します。これはペア(ホスト名+ポート番号)にすることもできます。その場合、ホスト名の解決が試みられます。 | 
| InterfaceAddress | このクラスは、ネットワーク・インタフェース・アドレスを表します。 | 
| JarURLConnection | JAR (Java ARchive)ファイル、またはJARファイル内にあるエントリへのURL接続です。 | 
| MulticastSocket | マルチキャスト・データグラム・ソケット・クラスは、IPマルチキャスト・パケットを送受信する場合に役立ちます。 | 
| NetPermission | このクラスは、各種のネットワーク・アクセス権のために使います。 | 
| NetworkInterface | このクラスは、名前と、このインタフェースに割り当てられた一連のIPアドレスから成るネットワーク・インタフェースを表します。 | 
| PasswordAuthentication | クラスPasswordAuthenticationは、オーセンティケータによって使用されるデータ・ホルダーです。 | 
| Proxy | このクラスはプロキシ設定を表しますが、通常これは、タイプ(http、socks)とソケット・アドレスから成ります。 | 
| ProxySelector | URLで参照されるネットワーク・リソースへの接続時に使用するプロキシ・サーバーが存在する場合に、それらを選択します。 | 
| ResponseCache | URLConnectionのキャッシュの実装を表します。 | 
| SecureCacheResponse | 最初にTLSなどのセキュアな方法で取得されたキャッシュ応答を表します。 | 
| ServerSocket | このクラスはサーバー・ソケットを実装します。 | 
| Socket | このクラスは、クライアント・ソケット(単に「ソケット」とも呼ばれる)を実装します。 | 
| SocketAddress | このクラスは、プロトコルに関連付けられていないソケット・アドレスを表します。 | 
| SocketImpl | 抽象クラス SocketImplは、実際にソケットを実装するすべてのクラスに共通のスーパー・クラスです。 | 
| SocketPermission | このクラスは、ソケットを通じたネットワークへのアクセス権を表します。 | 
| StandardSocketOptions | 標準ソケット・オプションを定義します。 | 
| URI | URI (Uniform Resource Identifier)参照を表します。 | 
| URL | URLクラスは、Uniform Resource Locator (ユニフォーム・リソース・ロケータ)、つまりWorld Wide Web上の「リソース」へのポインタを表します。 | 
| URLClassLoader | このクラス・ローダーは、JARファイルとディレクトリの両方を参照するURLの検索パスから、クラスとリソースをロードするために使用されます。 | 
| URLConnection | 抽象クラス URLConnectionは、アプリケーションとURLとの間の通信リンクを表すすべてのクラスのスーパー・クラスです。 | 
| URLDecoder | HTML形式をデコードするためのユーティリティ・クラスです。 | 
| URLEncoder | HTML形式をエンコードするためのユーティリティ・クラスです。 | 
| URLPermission | ある特定のURLで定義され、ある特定のユーザー設定可能なリクエスト・メソッドおよびリクエスト・ヘッダーのセットで使われるリソースまたはリソース・セットへのアクセス権を表します。 | 
| URLStreamHandler | 抽象クラス URLStreamHandlerは、すべてのストリーム・プロトコル・ハンドラに共通のスーパー・クラスです。 | 
| 列挙型 | 説明 | 
|---|---|
| Authenticator.RequestorType | 認証を要求しているエンティティのタイプ。 | 
| Proxy.Type | プロキシ・タイプを表します。 | 
| StandardProtocolFamily | 通信プロトコルの標準ファミリを定義します。 | 
| 例外 | 説明 | 
|---|---|
| BindException | ソケットをローカル・アドレスとポートにバインドしようとした際にエラーが発生したことを通知します。 | 
| ConnectException | ソケットをリモート・アドレスとポートに接続しようとした際にエラーが発生したことを通知します。 | 
| HttpRetryException | HTTP要求を再試行する必要があるが、ストリーミング・モードが有効になっているために自動的に再試行できないことを示すために、スローされます。 | 
| MalformedURLException | 不正な形式のURLが見つかったことを示すためにスローされます。 | 
| NoRouteToHostException | ソケットをリモート・アドレスとポートに接続しようとした際にエラーが発生したことを通知します。 | 
| PortUnreachableException | ICMPポート到達不可能メッセージが接続されたデータグラムに受信されたことを示すシグナルです。 | 
| ProtocolException | 使用しているプロトコルでエラー(TCPエラーなど)が発生したことを表すためにスローされます。 | 
| SocketException | ソケットの作成中またはアクセス中にエラーが発生したことを示すためにスローされます。 | 
| SocketTimeoutException | ソケットの読み込みまたは受け入れでタイム・アウトが発生したことを示すシグナルです。 | 
| UnknownHostException | ホストのIPアドレスが判定できなかった場合にスローされます。 | 
| UnknownServiceException | 未知のサービス例外が発生したことを示すためにスローされます。 | 
| URISyntaxException | 文字列をURI参照として解析できなかったことを示すためにスローされたチェック例外です。 | 
java.netパッケージは、大きく次の2つの部分に分けられます。
低レベルのAPI: 次の抽象概念を扱います。
アドレス: IPアドレスのような、ネットワーク上の識別子です。
ソケット: 基本的な双方向データ通信メカニズムです。
インタフェース: ネットワーク・インタフェースを記述します。
高レベルのAPI: 次の抽象概念を扱います。
URI: Universal Resource Identifierを表します。
URL: Universal Resource Locatorを表します。
接続: URLによって参照されるリソースへの接続を表します。
アドレスは、ホスト識別子、ソケット端点識別子のいずれかとして、java.net APIの全体で使用されます。
InetAddressクラスは、IP (Internet Protocol)アドレスを表す抽象オブジェクトです。これには次の2つのサブクラスがあります。
 
Inet4Address (IPv4アドレス用)。Inet6Address (IPv6アドレス用)。ただし、ほとんどの場合、サブクラスを直接扱う必要はありません。InetAddress抽象オブジェクトが必要な機能の大部分をカバーするはずだからです。
すべてのシステムがIPv6プロトコルをサポートしているわけではありません。また、Javaネットワーク・スタックはIPv6が使用可能な場合はそれを透過的に検出して使用しようとしますが、システム・プロパティを使ってその使用を無効にすることもできます。IPv6が使用可能でないか明示的に無効化されている場合、Inet6Addressが、大部分のネットワーク操作で有効な引数ではなくなります。InetAddress.getByName(java.lang.String)のようなメソッドがホスト名を検索する際にInet6Addressを返すことは決してありませんが、リテラルを渡すことでそのようなオブジェクトを生成することは可能です。その場合、大部分のメソッドは、Inet6Addressを指定して呼び出されると、例外をスローします。
ソケットは、ネットワーク上のマシン間で通信リンクを確立するための手段です。java.netパッケージは次の4種類のソケットを提供します。
Socket:  TCPクライアントAPIであり、通常はリモート・ホストに接続するために使用されます。ServerSocket:  TCPサーバーAPIであり、通常はクライアント・ソケットからの接続を受け入れます。DatagramSocketはUDP端点APIであり、データグラム・パケットを送信および受信するために使用されます。MulticastSocket:  DatagramSocketのサブクラスであり、マルチキャスト・グループを処理する際に使用されます。TCPソケットによる送受信は、InputStreamとOutputStreamを使って行われます。これらを取得するには、Socket.getInputStream()メソッドとSocket.getOutputStream()メソッドを使用します。
NetworkInterfaceクラスは、ローカル・マシンのすべてのネットワーク・インタフェース(Ethernet接続やPPP端点など)の参照やクエリーを行うためのAPIを提供します。ローカル・インタフェースのいずれかがIPv6をサポートするように構成されているかどうかをチェックできるのは、このクラスを通じてです。
適合する実装はすべて、NetworkInterfaceオブジェクトを少なくとも1つサポートする必要があります。そのオブジェクトは、ネットワークに接続されているか、同じマシン上のエンティティとだけ通信できる「ループバック」インタフェースであることが必要です。
java.netパッケージ内の多くのクラスは、非常に高レベルの抽象化オブジェクトを提供しており、ネットワーク上のリソースへの容易なアクセスを可能にします。それらのクラスを次に示します。
URI:  RFC 2396で規定されているUniversal Resource Identifierを表すクラスです。名前からわかるように、これは単なる識別子であり、リソースへのアクセス手段を直接的には提供しません。URL:  Universal Resource Locatorを表すクラスであり、URIの従来の概念とリソースへのアクセス手段の両方を兼ね備えています。URLConnectionはURLから作成されます。これは、URLが指し示すリソースへのアクセスに使用される通信リンクです。この抽象クラスは、その処理のほとんどを、HTTPやHTTPSといった基本となるプロトコル・ハンドラに委譲します。HttpURLConnection:  URLConnectionのサブクラスであり、HTTPプロトコルに固有の追加機能をいくつか提供します。推奨の使用方法は、URIを使ってリソースを識別したあと、そのリソースにアクセスする段階でそれをURLに変換するというものです。そのURLから、きめ細かな制御が可能なURLConnectionを取得することも、InputStreamを直接取得することもできます。
 
次はその例です。
 URI uri = new URI("http://java.sun.com/");
 URL url = uri.toURL();
 InputStream in = url.openStream();
 
 myproto://myhost.mydomain/resource/のようにどのような種類のプロトコル・スキームでも含めることができるのに対し、同様のURLは、指定されたプロトコルのハンドラをインスタンス化しようとします。そして、そのようなハンドラが存在しない場合は例外がスローされます。
 プロトコル・ハンドラはデフォルトで、デフォルトの場所から動的にロードされます。ただし、検索パスにパスを追加することもできます。それには、java.protocol.handler.pkgsシステム・プロパティを設定します。たとえば、それがmyapp.protocolsに設定されている場合、URLコードはHTTPの場合であれば、まずmyapp.protocols.http.Handlerをロードしようとし、それが失敗したら、デフォルトの場所からhttp.Handlerをロードしようとします。
 
Handlerクラスは、抽象クラスURLStreamHandlerのサブクラスでなければいけないことに注意してください。
 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
 Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.