言語

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>

<li>

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

</li>

<li>

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

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

</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>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

</ol>

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

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

Path

fragment
String

Fragment

属性

例外

注釈

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

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

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

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

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

権威

path
String

Path

query
String

クエリ

fragment
String

Fragment

属性

例外

注釈

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

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

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

<ol>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

</ol>

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

Javaドキュメント。

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

適用対象

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 を構築します。

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

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

<ol>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

</ol>

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

Javaドキュメント。

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

適用対象