プログラムがオペレーティング システム関連の変数 (ファイル区切り文字、改行文字など) を使用する必要がある場合、Java はシステム関連の変数とプロパティを返す System クラスの静的メソッド getenv() および getProperty() を提供します。このメソッドによって返される変数のほとんどはシステムに関連しており、getProperty メソッドによって返される変数のほとんどは Java プログラムに関連しています。
システム プロパティと環境変数は、名前と値の間のマッピングです。どちらのメカニズムも、ユーザー定義情報を Java プロセスに渡すために使用できます。環境変数は Java 子プロセスだけでなく、環境変数が定義されているプロセスのすべての子プロセスにも表示されるため、よりグローバルな効果があります。オペレーティング システムが異なると、大文字と小文字が区別されないなど、セマンティクスが若干異なります。したがって、環境変数には意図しない副作用が生じる可能性が高くなります。プログラム内で可能な限りシステム プロパティを使用してください。環境変数は、グローバル効果が必要な場合、または外部システム インターフェイスで環境変数 (PATH など) を使用する必要がある場合に使用する必要があります。
1. 環境変数 getenv() : 現在のシステム環境の文字列マッピング ビューを取得するために使用されます。テスト コードと実行結果は次のとおりです:
publicclass Test { publicstaticvoid main(String[] args) { Map<String, String> map = System.getenv(); for(Iterator<String> itr = map.keySet().iterator();itr.hasNext();){ String key = itr.next(); System.out.println(key + "=" + map.get(key)); } } }
USERPROFILE :用户目录 USERDNSDOMAIN :用户域 PATHEXT :可执行后缀 JAVA_HOME :Java安装目录 TEMP :用户临时文件目录 SystemDrive :系统盘符 ProgramFiles :默认程序目录 USERDOMAIN :帐户的域的名称 ALLUSERSPROFILE :用户公共目录 SESSIONNAME :Session名称 TMP :临时目录 Path :path环境变量 CLASSPATH :classpath环境变量 PROCESSOR_ARCHITECTURE :处理器体系结构 OS :操作系统类型 PROCESSOR_LEVEL :处理级别 COMPUTERNAME :计算机名 Windir :系统安装目录 SystemRoot :系统启动目录 USERNAME :用户名 ComSpec :命令行解释器可执行程序的准确路径 APPDATA :应用程序数据目录
2. システム プロパティ getProperty() : 現在のシステム プロパティ。テスト コードと実行結果は次のとおりです。
publicclass Test { publicstaticvoid main(String[] args) { Properties props = System.getProperties(); props.list(System.out); } }
java.version Java :运行时环境版本 java.vendor Java :运行时环境供应商 java.vendor.url :Java供应商的 URL java.home :Java安装目录 java.vm.specification.version: Java虚拟机规范版本 java.vm.specification.vendor :Java虚拟机规范供应商 java.vm.specification.name :Java虚拟机规范名称 java.vm.version :Java虚拟机实现版本 java.vm.vendor :Java虚拟机实现供应商 java.vm.name :Java虚拟机实现名称 java.specification.version :Java运行时环境规范版本 java.specification.vendor :Java运行时环境规范供应商 java.specification.name :Java运行时环境规范名称 java.class.version :Java类格式版本号 java.class.path :Java类路径 java.library.path :加载库时搜索的路径列表 java.io.tmpdir :默认的临时文件路径 java.compiler :要使用的 JIT编译器的名称 java.ext.dirs :一个或多个扩展目录的路径 os.name :操作系统的名称 os.arch :操作系统的架构 os.version :操作系统的版本 file.separator :文件分隔符 path.separator :路径分隔符 line.separator :行分隔符 user.name :用户的账户名称 user.home :用户的主目录 user.dir :用户的当前工作目录
Java によるシステム プロパティと環境変数の取得に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。