【Java】URIクラスとは?使用可能メソッドやURLとの違いを紹介
  • facebookページ
  • twitterページ
  • 2021.02.25

    【Java】URIクラスとは?使用可能メソッドやURLとの違いを紹介

    JavaのURIとは?

    URI(Uniform Resource Identifier)は、リソースが指し示す場所を一意に参照するための識別子です。

    URI参照の構文は次のようになります。

    [](ブラケット)はオプションのコンポーネントを表し、「:」と「#」はその文字自体を表しています。

    また、スキームを指定しているものが「絶対URI」と呼ばれ、絶対でないURIは「相対URI」と呼ばれます。

    URIは、不透明か階層的であるかによって分類のされ方が代わります。

    不透明URIは、スキーム固有部分が「/(スラッシュ)」で始まらない絶対URIになり、それ以上解析されません。

    不透明URIの例は次の通りです。

    一方、階層URIは、スキーム固有部分が「/」で始まる絶対URI、もしくはスキームを指定しない相対URIです。

    階層URIの例は以下の通りです。

    階層URIは、構文に沿って以下のように解析できます。

    「:」「/」「?」「#」は、URI参照の構文同様にその文字自体を表します。

    階層URIのスキーム固有部分は、スキームとフラグメント・コンポーネントの間の文字で構成されています。

    URIクラスで使用できるメソッドは次の通りです。

    修飾子と型 メソッドと説明
    int compareTo(URI that)
    URIを別のオブジェクトと比較し、オブジェクトはURIである必要がある
    static URI create(String str)
    指定された文字列を解析してURIを作成
    boolean equals(Object ob)
    URIが別のオブジェクトと等しいかを判定
    String getAuthority()
    URIのデコードされた機関コンポーネントを返却
    String  getFragment()
    URIのデコードされたフラグメント・コンポーネントを返却
    String getHost()
    URIのホスト・コンポーネントを返却
    String getPath()
    URIのデコードされたパス・コンポーネントを返却
    int getPort()
    URIのポート番号を返却
    String getQuery()
    URIのデコードされたクエリー・コンポーネントを返却
    String getRawAuthority()
    URIのそのままの機関コンポーネントを返却
    String getRawFragment()
    URIのそのままのフラグメント・コンポーネントを返却
    String getRawPath()
    URIのそのままのパス・コンポーネントを返却
    String getRawQuery()
    URIのそのままのクエリー・コンポーネントを返却
    String getRawSchemeSpecificPart()
    URIのそのままのスキーム固有部分を返却
    String getRawUserInfo()
    URIのそのままのユーザー情報コンポーネントを返却
    String getScheme()
    URIのスキーム・コンポーネントを返却
    String getSchemeSpecificPart()
    URIのデコードされたスキーム固有部分を返却
    String getUserInfo()
    URIのデコードされたユーザー情報コンポーネントを返却
    int hashCode()
    URIのハッシュ・コード値を返却
    boolean isAbsolute()
    URIが絶対かどうかを通知
    boolean isOpaque()
    URIが不透明かどうかを通知
    URI normalize()
    URIのパスを正規化
    URI parseServerAuthority()
    URIの機関コンポーネント(定義されている場合)から
    ユーザー情報・ホスト・ポートの各コンポーネントへの解析を試みる
    URI relativize(URI uri)
    指定されたURIをURIに対して相対化
    URI resolve(String str)
    指定された文字列を解析し、その後に文字列をURIに対して解決して、
    新しいURIを構築
    URI resolve(URI uri)
    指定されたURIをURIに対して解決
    String toASCIIString()
    URIのコンテンツをUS-ASCII文字列として返却
    String toString()
    URIのコンテンツを文字列として返却
    URL toURL()
    URIからURLを構築

    参考:URI (Java Platform SE 8 )

    URIの生成・組み立て方法

    URIの生成・組み立て方法として、サンプルコードを紹介します。

    URIとURLの違いは?

    URIは、指定のURIと他URIの指し示すものが同一であるか、ベースURIと相対URIを解決して新しいURIを作成するといった操作がメインのクラスです。

    一方、URL(Uniform Resource Locator)は、何かしらのリソースが存在することを表現するものです。

    リソースは、ファイル・ディレクトリのような単純なものである場合や、データベース・検索エンジンに対するクエリーなど、複雑なオブジェクトへの参照である場合などがあります。

    ポテパンダの一言メモ

    URLはURIでできる単純な文字列表現だけではなく、リソースにアクセスするための手段もあわせて提供しているのです。

    参考:URL (Java Platform SE 8 )



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE