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

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

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

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

このページではJavaで環境変数を取得し表示する方法をまとめてご紹介した。参考にしていただければと思う。

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

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

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*

ゼロからエンジニアを目指す方へ
短期間でエンジニアになる方法

必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け

資料を見てみる