OSの環境変数を取得

C:\DATA\Java2\01Dos>java getenv
C:\Users\maeda\AppData\Local\Temp
C:\Windows
C:\Users\maeda\AppData\Local\Temp
 -- Press any key to exit (Input "c" to continue) --

OSに設定されている環境変数を取得して表示します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして getenv.java の名前で保存して下さい。
    //★ OSの環境変数を取得    前田 稔
    //   設定されていないときは null になる
    class getenv
    {   public static void main(String args[])
        {   String	str1,str2,str3;
            str1= System.getenv("TEMP");
            str2= System.getenv("windir");
            str3= System.getenv("temp");
            System.out.println(str1);
            System.out.println(str2);
            System.out.println(str3);
        }
    }
    
  2. java のソースファイルをコンパイルして class オブジェクトを実行して下さい。
    ページ先頭の画面が表示されたら完成です。

プログラムの説明

  1. OSに設定されている環境変数を取得して表示します。
    プログラムは簡単なのですが、OSとセキュリティが関係してきます。
    私の場合は、何の問題も無くあっさりと実行できました。 \(^o^)/
    ちなみにテストした環境は、OSは Windows7 で、Java は C:\Program Files (x86)\Java\jdk1.6.0_25\ です。
  2. Windows7 のコマンドプロンプトを立ち上げて確認した様子です。
    C:\Users\maeda>set temp
    TEMP=C:\Users\maeda\AppData\Local\Temp
    C:\Users\maeda>
    
    C:\Users\maeda>set windir
    windir=C:\Windows
    C:\Users\maeda>
    
  3. Windows7 では環境変数の大文字/小文字の区別はありませんが、OSによっては区別しています。
        str1= System.getenv("TEMP");
        str3= System.getenv("temp");
        
  4. セキュリティの問題が発生したときは、次のページに詳しい解説があります。
    セキュリティの問題
  5. OSの環境変数に値を設定するメソッドを探したのですが、どうしても見つかりません。
    環境変数を下手にさわるとシステムに問題が生じるからでしょうか?。
    C++ などでは getenv() 関数で簡単に設定出来るのですが。 (^_^;)
    もっとも、プログラムで設定した値は、親プロセスには影響しないので、コマンドプロンプトを起動しても確認できません。

超初心者のプログラム入門(Java2)