JavaA2Z

KAB-studio > プログラミング > JavaA2Z > URIとは

URI

日本語 定型資源識別子
英語 Uniform Resource Identifier
ふりがな ゆーあーるあい
フリガナ ゆーあーるえる

解説

URLのようなもの。
URLはURIの一種であり、URLの構文はURIによって定義されている。そのため、URIとURLは似ている。
ただし、URLは「インターネット上の位置を特定するもの」であるのに対し、URIは必ずしも特定しない。つまり、URLは「絶対パス」のように機能するが、URIの場合は「絶対パス」に加えて「ファイル名」や「相対パス」のようなものも含んでいる。
だが、ほとんどの場合はURLで十分であり、URIを使用することはほとんどないだろう。
 
URIの管理にはjava.net.URIクラスを使用する。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URL;
import java.net.HttpURLConnection;
import java.net.URISyntaxException;

public class Sample
{
    public static void main( String[] args )
    {
        BufferedReader bufferedReader = null;
        HttpURLConnection httpURLConnection = null;
        try
        {
            // プロトコル。
            String protocol = "http";
            // ホストを示すドメイン名。
            String host = "yahoo.co.jp";
            // ポート番号。
            int port = 80;
            // ファイルパス。
            String filePath = "/index.html";

            // アクセスするためのURIクラスを作ります。
            URI uri = new URI( protocol, "", host, port, filePath, """" );
            // それを元にURLを取得します。
            URL url = uri.toURL();
            System.out.println( url.toString() );
            // http://www.yahoo.co.jp:80/index.html

            // Content-Typeの文字コード(注:実際には、HEADで文字コードを取得してから指定します)。
            String charSet = "EUC-JP";
            // リクエストのメソッド。
            String method = "GET";

            // 指定されたURLを元にリクエストを発行します。
            httpURLConnection = (HttpURLConnection)url.openConnection();
            httpURLConnection.setRequestMethod( method );

            // リクエストの結果を取得します。
            InputStreamReader inputStreamReader = new InputStreamReader( httpURLConnection.getInputStream(), charSet );
            bufferedReader = new BufferedReader( inputStreamReader );

            // 全行出力します。
            while( true )
            {
                String oneLine = bufferedReader.readLine();
                if( oneLine == null )
                {
                    break;
                }
                System.out.println( oneLine );
            }
            // <html>
            // <head>
            // <title>Yahoo! JAPAN</title>
            // (以下略)
        }
        catch( URISyntaxException e )
        {
            // URIに誤りがあるとURISyntaxException例外が投げられます。
            e.printStackTrace();
        }
        catch( IOException e )
        {
            e.printStackTrace();
        }
        finally
        {
            if( bufferedReader != null )
            {
                try
                {
                    bufferedReader.close();
                }
                catch( IOException e )
                {
                    e.printStackTrace();
                }
            }

            if( httpURLConnection != null )
            {
                httpURLConnection.disconnect();
            }
        }
    }
}
// Sample.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URL;
import java.net.HttpURLConnection;
import java.net.URISyntaxException;

public class Sample
{
    public static void main( String[] args )
    {
        BufferedReader bufferedReader = null;
        HttpURLConnection httpURLConnection = null;
        try
        {
            // プロトコル。
            String protocol = "http";
            // ホストを示すドメイン名。
            String host = "yahoo.co.jp";
            // ポート番号。
            int port = 80;
            // ファイルパス。
            String filePath = "/index.html";

            // アクセスするためのURIクラスを作ります。
            URI uri = new URI( protocol, "", host, port, filePath, "", "" );
            // それを元にURLを取得します。
            URL url = uri.toURL();
            System.out.println( url.toString() );
            // http://www.yahoo.co.jp:80/index.html

            // Content-Typeの文字コード(注:実際には、HEADで文字コードを取得してから指定します)。
            String charSet = "EUC-JP";
            // リクエストのメソッド。
            String method = "GET";

            // 指定されたURLを元にリクエストを発行します。
            httpURLConnection = (HttpURLConnection)url.openConnection();
            httpURLConnection.setRequestMethod( method );

            // リクエストの結果を取得します。
            InputStreamReader inputStreamReader = new InputStreamReader( httpURLConnection.getInputStream(), charSet );
            bufferedReader = new BufferedReader( inputStreamReader );

            // 全行出力します。
            while( true )
            {
                String oneLine = bufferedReader.readLine();
                if( oneLine == null )
                {
                    break;
                }
                System.out.println( oneLine );
            }
            // <html>
            // <head>
            // <title>Yahoo! JAPAN</title>
            // (以下略)
        }
        catch( URISyntaxException e )
        {
            // URIに誤りがあるとURISyntaxException例外が投げられます。
            e.printStackTrace();
        }
        catch( IOException e )
        {
            e.printStackTrace();
        }
        finally
        {
            if( bufferedReader != null )
            {
                try
                {
                    bufferedReader.close();
                }
                catch( IOException e )
                {
                    e.printStackTrace();
                }
            }

            if( httpURLConnection != null )
            {
                httpURLConnection.disconnect();
            }
        }
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/09/28
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。