【初心者向け】Javaで環境変数を使う方法は?表示や読み込み方法を解説

  • このエントリーをはてなブックマークに追加
  • Pocket

環境変数は、ご存知、その環境に設定された変数を表したものだ。環境というと難しいが、要はプログラムが動いている場所だ。あなたのPCやどこかのサーバがそれに当たる。

例えば、Javaプログラムを動かすときの初期設定で利用したり、会社PCのパスワードを誰にも見られない位置に置いておいてシステムからだけアクセスしたりするときに使う。

Javaでも使われる環境変数とは?

環境変数とは、ソフトウエアが動く環境にあたるシステムがソフトウエアに提供する変数だ。ソフトウエアは、その環境変数を読み込んで振る舞いを決定する。

例えば、あるソフトウエアは画面に表示する言語を決定するために、言語に関する情報を提供する環境変数を読み込む。システムは環境変数をシステム単位やユーザ単位で設定できるので、ユーザは使用するソフトウエア毎に言語を設定する必要はない。

環境変数を取得する書き方の基本は簡単だ。

環境変数 = System.getenv(環境変数名);

このクラス・メソッドのAPI仕様の詳細を見てみよう。

API仕様

getenv(String name)

戻り値の型

public static String

内容

特定の環境変数の値を取得する。環境変数はシステムに依存する外部で名前が付けられた値である。

もしセキュリティ・マネージャが存在すれば、checkPermissionメソッドがRuntimePermission("getenv."+name)許可と共に呼び出される。これは結果として、SecurityException例外が発生するかもしれない。もし、例外が発生しなければ、変数名の値が戻される。

UNIXシステムでは、名前のアルファベットの大文字小文字の区別は、通常重要である。一方、マイクロソフトWindowsではそうではない。例えば、System.getenv("FOO").equals(System.getenv("foo"))は、マイクロソフトWindowsでtrueである。

引数:

name – 環境変数の名前

戻り値:

変数の文字列の値、もし変数がシステム環境の中で定義されていなければnull。

例外:

NullPointerException – もしnameがnullならば。

SecurityException – セキュリティマネージャが存在してcheckPermissionメソッドが環境変数名にアクセスすることを許さないならば。

さらなる詳細は、Java言語仕様をご覧ください。

getenv()

戻り値の型

public static Map  <String,String>

内容

現行のシステム環境の変更できない文字列マップビューを返す。その環境は親から子プロセスに渡される名前から値へのシステムに依存するマッピング(紐付け)である。

もし、システムが環境変数をサポートしていなければ、空のマップを戻す。戻されるマップは決してnullのキーや値を含まない。

nullのキーや値で検索しようとすると、NullPointerException例外が投げられる。また、文字列型でないキーや値の存在を確認しようとすると、ClassCastException例外が投げられる。マップは、すべてのプラットフォームで一般的に大文字と小文字を区別する。

もし、セキュリティマネージャが存在したならば、そのcheckPermissionメソッドがRuntimePermission("getenv.*")許可と共に呼び出される。情報をJavaのサブプロセスに渡す時、一般的に環境変数よりシステムプロパティの方が好まれる。

戻り値:

変数名から値へのマップとしての環境。

例外:

SecurityException – もし、セキュリティマネージャが存在して、そのcheckPermission – メソッドがプロセス環境へのアクセスが許さないならば。

Javaで環境変数を読み込むサンプルプログラム

このサンプルプログラムは、ふたつのgetenvクラス・メソッドを使って環境変数を取得し表示する。

ひとつは、引数に「JAVA_HOME」を設定する方法である。もうひとつは、引数を設定しないで環境変数を全て取得し、その中からMapのgetメソッドを使って取得する方法である。

実行結果

サンプルプログラムの説明

簡単にプログラムの解説をしてゆこう。

  • [1] 環境変数名JAVA_HOMEの値を取得し、変数environmentVariableに代入する。
  • [2] 取得した変数environmentVariableの値を表示する。
  • [3] 環境変数の値をすべて取得して、オブジェクトenvironmentVariablesに代入する。
  • [4][5] すべての環境変数を表示する。
  • [6] 環境変数名JAVA_HOMEの値を、オブジェクトenvironmentVariablesから取得する。

まとめ

このページではjavaにおいて環境変数の取得から表示方法について簡単にご紹介した。

今回、紹介したjavaのサンプルプログラムも活用していただきたい。

javaにおいての環境変数について参考にしていただければと思う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リナックスアカデミーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リナックスアカデミーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する