URI コンストラクター

定義

オーバーロード

URI(String)

指定された文字列を解析して URI を構築します。

URI(String, String, String)

指定されたコンポーネントから URI を構築します。

URI(String, String, String, String)

指定されたコンポーネントから階層 URI を構築します。

URI(String, String, String, String, String)

指定されたコンポーネントから階層 URI を構築します。

URI(String, String, String, Int32, String, String, String)

指定されたコンポーネントから階層 URI を構築します。

URI(String)

指定された文字列を解析して URI を構築します。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;)V", "")]
public URI (string? str);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;)V", "")>]
new Java.Net.URI : string -> Java.Net.URI

パラメーター

str
String

URI に解析される文字列

属性

例外

注釈

指定された文字列を解析して URI を構築します。

このコンストラクターは、RFC 2396 の文法で指定されたとおりに、指定された文字列を解析します。付録 次の偏差を除く A、<b>:</b>

<ul>

<李>

空の権限コンポーネントの後に空でないパス、クエリ コンポーネント、またはフラグメント コンポーネントが続く限り、空の権限コンポーネントが許可されます。 これにより、 などの "file:///foo/bar"URI の解析が可能になります。これは、RFC  の意図と思われます。2396 文法はそれを許可していませんが。 権限コンポーネントが空の場合、ユーザー情報、ホスト、およびポート・コンポーネントは未定義です。

</李>

<李>

空の相対パスを使用できます。これは RFC  の意図のようです。2396 文法はそれを許可していませんが。 この逸脱の主な結果は、 などの "#foo" スタンドアロン フラグメントが、空のパスと指定されたフラグメントを持つ相対 URI として解析され、ベース URI に対して便利に解決できることです。

<李>

ホスト コンポーネント内の IPv4 アドレスは、 RFC 2732 で指定されているように厳密に解析されます。ドット付きクワッド アドレスの各要素には、3 桁以下の 10 進数を含む必要があります。 各要素は、255 以下の値を持つようさらに制限されます。

</李>

<李>

1 つのドメイン ラベルのみを構成するホスト コンポーネント内のホスト名は、 英数字 で始めることができます。 これは、nbsp の RFC 2396 セクション&意図しているようです。3.2.2 文法では許可されていませんが。 この逸脱の結果として、などの s://123階層 URI の機関コンポーネントがサーバー ベースの機関として解析されます。

</李>

<李>

ホスト コンポーネントでは、IPv6 アドレスが許可されます。 IPv6 アドレスは、RFC 2732 で指定されている角かっこ ('['']') で囲む必要があります。 IPv6 アドレス自体は RFC 2373 に従って解析する必要があります。 IPv6 アドレスは、16 バイト以下のアドレス情報を記述するようにさらに制約されます。RFC  では暗黙的な制約です。2373 ですが、文法では表現できません。

</李>

<李>

RFC が nbsp を&場合は、 のカテゴリの文字を使用できます。2396 では、 エスケープされた オクテット 、つまり、ユーザー情報、パス、クエリ、フラグメント コンポーネント、および権限がレジストリ ベースの場合は機関コンポーネントで許可されます。 これにより、URI に US-ASCII 文字セット内の文字以外の Unicode 文字を含めることができます。

</李>

</ul>

java.net.URI.URI(java.lang.String)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

URI(String, String, String)

指定されたコンポーネントから URI を構築します。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")]
public URI (string? scheme, string? ssp, string? fragment);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")>]
new Java.Net.URI : string * string * string -> Java.Net.URI

パラメーター

scheme
String

スキーム名

ssp
String

スキーム固有の部分

fragment
String

Fragment

属性

例外

注釈

指定されたコンポーネントから URI を構築します。

コンポーネントは、 を渡 nullすことによって未定義のままになる場合があります。

このコンストラクターは、最初に、次のように指定されたコンポーネントを使用して文字列形式で URI を構築します。

<Ol>

<李>

最初は、結果の文字列は空です。

</李>

<李>

スキームが指定された場合は、結果に追加され、その後にコロン文字 (':') が追加されます。

</李>

<李>

スキーム固有の部分が指定されている場合は、追加されます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。

</李>

<李>

最後に、フラグメントが指定された場合は、ハッシュ文字 ('#') が文字列に追加され、その後にフラグメントが追加されます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。

</李>

</Ol>

結果の URI 文字列は、コンストラクターを呼び出すかのように新しい URI インスタンスを #URI(String) 作成するために解析されます。これにより、 URISyntaxException がスローされる可能性があります。

java.net.URI.URI(java.lang.String, java.lang.String, java.lang.String)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

URI(String, String, String, String)

指定されたコンポーネントから階層 URI を構築します。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")]
public URI (string? scheme, string? host, string? path, string? fragment);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")>]
new Java.Net.URI : string * string * string * string -> Java.Net.URI

パラメーター

scheme
String

スキーム名

host
String

ホスト名

path
String

パス

fragment
String

Fragment

属性

例外

注釈

指定されたコンポーネントから階層 URI を構築します。

コンポーネントは、 を渡 nullすことによって未定義のままになる場合があります。

この便利なコンストラクターは、次のように 7 引数コンストラクターを呼び出すかのように機能します。

<blockquote>(scheme, null, host, -1, path, null, fragment);new#URI(String, String, String, int, String, String, String) URI</blockquote>

java.net.URI.URI(java.lang.String, java.lang.String, java.lang.String, java.lang.String)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

URI(String, String, String, String, String)

指定されたコンポーネントから階層 URI を構築します。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")]
public URI (string? scheme, string? authority, string? path, string? query, string? fragment);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")>]
new Java.Net.URI : string * string * string * string * string -> Java.Net.URI

パラメーター

scheme
String

スキーム名

authority
String

Authority

path
String

Path

query
String

クエリ

fragment
String

Fragment

属性

例外

注釈

指定されたコンポーネントから階層 URI を構築します。

スキームが指定されている場合、パス (指定されている場合) は空であるか、スラッシュ文字 ('/') で始まる必要があります。 それ以外の場合は、対応するパラメーターを渡 null すことによって、新しい URI のコンポーネントが未定義のままになる可能性があります。

このコンストラクターは、最初に RFC 2396 で指定された規則に従って、指定されたコンポーネントから URI 文字列を作成します。セクション 5.2、ステップ 7:

<Ol>

<李>

最初は、結果の文字列は空です。

</李>

<李>

スキームが指定された場合は、結果に追加され、その後にコロン文字 (':') が追加されます。

</李>

<李>

権限が指定されている場合は、文字列 "//" が追加され、その後に権限が続きます。 機関にリテラル IPv6 アドレスが含まれている場合は、アドレスを角かっこ ('['']') で囲む必要があります。 予約されていない区切り記号、エスケープされた、またはそののカテゴリに含まれていない文字で、商用の文字 ('@') と等しくない文字はすべて引用符で囲まれます。

</李>

<李>

パスが指定されている場合は、追加されます。 予約されていない区切られたエスケープされた、またはそののカテゴリに含まれていない、スラッシュ文字 () または商用文字 ('/''@') と等しくない文字はすべて引用符で囲まれます。

</李>

<李>

クエリが指定された場合は、疑問符文字 ('?') が追加され、その後にクエリが続きます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。

</李>

<李>

最後に、フラグメントが指定された場合は、ハッシュ文字 ('#') が追加され、その後にフラグメントが続きます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。

</李>

</Ol>

その後、コンストラクターを呼び出し、結果に基づいて メソッドを #URI(String) 呼び出 #parseServerAuthority() すかのように結果の URI 文字列が解析されます。これにより、 がスローされる可能性があります URISyntaxException

の Java ドキュメント java.net.URI.URI(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

URI(String, String, String, Int32, String, String, String)

指定されたコンポーネントから階層 URI を構築します。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")]
public URI (string? scheme, string? userInfo, string? host, int port, string? path, string? query, string? fragment);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")>]
new Java.Net.URI : string * string * string * int * string * string * string -> Java.Net.URI

パラメーター

scheme
String

スキーム名

userInfo
String

ユーザー名と承認情報

host
String

ホスト名

port
Int32

ポート番号

path
String

Path

query
String

クエリ

fragment
String

Fragment

属性

例外

注釈

指定されたコンポーネントから階層 URI を構築します。

スキームが指定されている場合、パス (指定されている場合) は空であるか、スラッシュ文字 ('/') で始まる必要があります。 それ以外の場合、新しい URI のコンポーネントは、対応するパラメーターを渡 null すことによって未定義のままにするか、 パラメーターの場合は を port-1すことによって未定義のままにすることができます。

このコンストラクターは、最初に RFC 2396 で指定された規則に従って、指定されたコンポーネントから URI 文字列を構築します。セクション 5.2、ステップ 7:

<Ol>

<李>

最初は、結果文字列が空です。

</李>

<李>

スキームが指定された場合、そのスキームは結果に追加され、その後にコロン文字 (':') が続きます。

</李>

<李>

ユーザー情報、ホスト、またはポートが指定されている場合は、文字列 "//" が追加されます。

</李>

<李>

ユーザー情報が指定された場合は、その後に商用文字 ('@') が追加されます。 予約されていない区切り記号、エスケープされた、またはそののカテゴリに含まれていない文字はすべて引用符で囲まれます。

</李>

<李>

ホストが指定された場合は、追加されます。 ホストがリテラル IPv6 アドレスで、角かっこ ('['']') で囲まれていない場合は、角かっこが追加されます。

</李>

<李>

ポート番号を指定すると、コロン文字 (':') が付加され、その後にポート番号が 10 進数で続きます。

</李>

<李>

パスが指定されている場合は、追加されます。 予約されていない区切られたエスケープされた、またはそののカテゴリに含まれていない、スラッシュ文字 () または商用文字 ('/''@') と等しくない文字はすべて引用符で囲まれます。

</李>

<李>

クエリが指定された場合は、疑問符文字 ('?') が追加され、その後にクエリが続きます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。

</李>

<李>

最後に、フラグメントが指定された場合は、ハッシュ文字 ('#') が追加され、その後にフラグメントが続きます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。

</李>

</Ol>

その後、コンストラクターを呼び出し、結果に基づいて メソッドを #URI(String) 呼び出 #parseServerAuthority() すかのように結果の URI 文字列が解析されます。これにより、 がスローされる可能性があります URISyntaxException

の Java ドキュメント java.net.URI.URI(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象