system.html
来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 1,156 行 · 第 1/5 页
HTML
1,156 行
<td>Java 虚拟机规范供应商</td></tr> <tr><td><code>java.vm.specification.name</code></td> <td>Java 虚拟机规范名称</td></tr> <tr><td><code>java.vm.version</code></td> <td>Java 虚拟机实现版本</td></tr> <tr><td><code>java.vm.vendor</code></td> <td>Java 虚拟机实现供应商</td></tr> <tr><td><code>java.vm.name</code></td> <td>Java 虚拟机实现名称</td></tr> <tr><td><code>java.specification.version</code></td> <td>Java 运行时环境规范版本</td></tr> <tr><td><code>java.specification.vendor</code></td> <td>Java 运行时环境规范供应商</td></tr> <tr><td><code>java.specification.name</code></td> <td>Java 运行时环境规范名称</td></tr> <tr><td><code>java.class.version</code></td> <td>Java 类格式版本号</td></tr> <tr><td><code>java.class.path</code></td> <td>Java 类路径</td></tr> <tr><td><code>java.library.path</code></td> <td>加载库时搜索的路径列表</td></tr> <tr><td><code>java.io.tmpdir</code></td> <td>默认的临时文件路径</td></tr> <tr><td><code>java.compiler</code></td> <td>要使用的 JIT 编译器的名称</td></tr> <tr><td><code>java.ext.dirs</code></td> <td>一个或多个扩展目录的路径</td></tr> <tr><td><code>os.name</code></td> <td>操作系统的名称</td></tr> <tr><td><code>os.arch</code></td> <td>操作系统的架构</td></tr> <tr><td><code>os.version</code></td> <td>操作系统的版本</td></tr> <tr><td><code>file.separator</code></td> <td>文件分隔符(在 UNIX 系统中是“/”)</td></tr> <tr><td><code>path.separator</code></td> <td>路径分隔符(在 UNIX 系统中是“:”)</td></tr> <tr><td><code>line.separator</code></td> <td>行分隔符(在 UNIX 系统中是“/n”)</td></tr> <tr><td><code>user.name</code></td> <td>用户的账户名称</td></tr> <tr><td><code>user.home</code></td> <td>用户的主目录</td></tr> <tr><td><code>user.dir</code></td> <td>用户的当前工作目录</td></tr> </table> <p>系统属性值中的多个路径是用平台的路径分隔符分隔的。 <p>注意,即使安全管理器不允许执行 <code>getProperties</code> 操作,它可能也会选择允许执行 <A HREF="System.html#getProperty(java.lang.String)"><CODE>getProperty(String)</CODE></A> 操作。<P><DD><DL><DT><B>返回:</B><DD>系统属性<DT><B>抛出:</B><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且其 <code>checkPropertiesAccess</code> 方法不允许访问系统属性。<DT><B>另请参见:</B><DD><A HREF="System.html#setProperties(java.util.Properties)"><CODE>setProperties(java.util.Properties)</CODE></A>, <A HREF="SecurityException.html" title="java.lang 中的类"><CODE>SecurityException</CODE></A>, <A HREF="SecurityManager.html#checkPropertiesAccess()"><CODE>SecurityManager.checkPropertiesAccess()</CODE></A>, <A HREF="../util/Properties.html" title="java.util 中的类"><CODE>Properties</CODE></A></DL></DD></DL><HR><A NAME="setProperties(java.util.Properties)"><!-- --></A><H3>setProperties</H3><PRE>public static void <B>setProperties</B>(<A HREF="../util/Properties.html" title="java.util 中的类">Properties</A> props)</PRE><DL><DD>将系统属性设置为 <code>Properties</code> 参数。 <p>首先,如果有安全管理器,则不带参数直接调用其 <code>checkPropertiesAccess</code> 方法。这可能导致一个安全性异常。 <p>参数是 <A HREF="System.html#getProperty(java.lang.String)"><CODE>getProperty(String)</CODE></A> 方法使用的当前系统属性的集合。如果参数为 <code>null</code>,则忽略当前系统属性的集合。<P><DD><DL><DT><B>参数:</B><DD><CODE>props</CODE> - 新的系统属性。<DT><B>抛出:</B><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且其 <code>checkPropertiesAccess</code> 方法不允许访问系统属性。<DT><B>另请参见:</B><DD><A HREF="System.html#getProperties()"><CODE>getProperties()</CODE></A>, <A HREF="../util/Properties.html" title="java.util 中的类"><CODE>Properties</CODE></A>, <A HREF="SecurityException.html" title="java.lang 中的类"><CODE>SecurityException</CODE></A>, <A HREF="SecurityManager.html#checkPropertiesAccess()"><CODE>SecurityManager.checkPropertiesAccess()</CODE></A></DL></DD></DL><HR><A NAME="getProperty(java.lang.String)"><!-- --></A><H3>getProperty</H3><PRE>public static <A HREF="String.html" title="java.lang 中的类">String</A> <B>getProperty</B>(<A HREF="String.html" title="java.lang 中的类">String</A> key)</PRE><DL><DD>获得指定键指示的系统属性。 <p>首先,如果有安全管理器,则用该键作为其参数来调用 <code>checkPropertyAccess</code> 方法。结果可能导致 SecurityException。 <p>如果没有当前系统属性的集合,则首先用与 <code>getProperties</code> 方法相同的方式创建并初始化系统属性的集合。<P><DD><DL><DT><B>参数:</B><DD><CODE>key</CODE> - 系统属性的名称。<DT><B>返回:</B><DD>系统属性的字符串值,如果没有带有此键的属性,则返回 <code>null</code>。<DT><B>抛出:</B><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且其 <code>checkPropertyAccess</code> 方法不允许访问指定的系统属性。<DD><CODE><A HREF="NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 <code>key</code> 为 <code>null</code>。<DD><CODE><A HREF="IllegalArgumentException.html" title="java.lang 中的类">IllegalArgumentException</A></CODE> - 如果 <code>key</code> 为空。<DT><B>另请参见:</B><DD><A HREF="System.html#setProperty(java.lang.String, java.lang.String)"><CODE>setProperty(java.lang.String, java.lang.String)</CODE></A>, <A HREF="SecurityException.html" title="java.lang 中的类"><CODE>SecurityException</CODE></A>, <A HREF="SecurityManager.html#checkPropertyAccess(java.lang.String)"><CODE>SecurityManager.checkPropertyAccess(java.lang.String)</CODE></A>, <A HREF="System.html#getProperties()"><CODE>getProperties()</CODE></A></DL></DD></DL><HR><A NAME="getProperty(java.lang.String, java.lang.String)"><!-- --></A><H3>getProperty</H3><PRE>public static <A HREF="String.html" title="java.lang 中的类">String</A> <B>getProperty</B>(<A HREF="String.html" title="java.lang 中的类">String</A> key, <A HREF="String.html" title="java.lang 中的类">String</A> def)</PRE><DL><DD>获得用指定键描述的系统属性。 <p>首先,如果有安全管理器,则用该 <code>key</code> 作为参数调用 <code>checkPropertyAccess</code> 方法。 <p>如果没有当前系统属性的集合,将用与 <code>getProperties</code> 方法相同的方式首先创建并初始化系统属性的集合。<P><DD><DL><DT><B>参数:</B><DD><CODE>key</CODE> - 系统属性的名称。<DD><CODE>def</CODE> - 默认值。<DT><B>返回:</B><DD>系统属性的字符串值,如果没有带有此键的属性,则返回默认值。<DT><B>抛出:</B><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且其 <code>checkPropertyAccess</code> 方法不允许访问指定的系统属性。<DD><CODE><A HREF="NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 <code>key</code> 为 <code>null</code>。<DD><CODE><A HREF="IllegalArgumentException.html" title="java.lang 中的类">IllegalArgumentException</A></CODE> - 如果 <code>key</code> 为空。<DT><B>另请参见:</B><DD><A HREF="System.html#setProperty(java.lang.String, java.lang.String)"><CODE>setProperty(java.lang.String, java.lang.String)</CODE></A>, <A HREF="SecurityManager.html#checkPropertyAccess(java.lang.String)"><CODE>SecurityManager.checkPropertyAccess(java.lang.String)</CODE></A>, <A HREF="System.html#getProperties()"><CODE>getProperties()</CODE></A></DL></DD></DL><HR><A NAME="setProperty(java.lang.String, java.lang.String)"><!-- --></A><H3>setProperty</H3><PRE>public static <A HREF="String.html" title="java.lang 中的类">String</A> <B>setProperty</B>(<A HREF="String.html" title="java.lang 中的类">String</A> key, <A HREF="String.html" title="java.lang 中的类">String</A> value)</PRE><DL><DD>设置指定键指示的系统属性。 <p>首先,如果安全管理器存在,则通过 <code>PropertyPermission(key, "write")</code> 权限调用其 <code>SecurityManager.checkPermission</code> 方法。这可能导致抛出 SecurityException。如果没有抛出异常,则将指定属性设置为给定值。 <p><P><DD><DL><DT><B>参数:</B><DD><CODE>key</CODE> - 系统属性的名称。<DD><CODE>value</CODE> - 系统属性的值。<DT><B>返回:</B><DD>系统属性以前的值,如果没有以前的值,则返回 <code>null</code>。<DT><B>抛出:</B><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且其 <code>checkPermission</code> 方法不允许设置指定属性。<DD><CODE><A HREF="NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 <code>key</code> 或 <code>value</code> 为 <code>null</code>。<DD><CODE><A HREF="IllegalArgumentException.html" title="java.lang 中的类">IllegalArgumentException</A></CODE> - 如果 <code>key</code> 为空。<DT><B>从以下版本开始:</B></DT> <DD>1.2</DD><DT><B>另请参见:</B><DD><A HREF="System.html#getProperty(java.lang.String)"><CODE>getProperty(java.lang.String)</CODE></A>, <A HREF="System.html#getProperty(java.lang.String)"><CODE>getProperty(java.lang.String)</CODE></A>, <A HREF="System.html#getProperty(java.lang.String, java.lang.String)"><CODE>getProperty(java.lang.String, java.lang.String)</CODE></A>, <A HREF="../util/PropertyPermission.html" title="java.util 中的类"><CODE>PropertyPermission</CODE></A>, <A HREF="SecurityManager.html#checkPermission(java.security.Permission)"><CODE>SecurityManager.checkPermission(java.security.Permission)</CODE></A></DL></DD></DL><HR><A NAME="clearProperty(java.lang.String)"><!-- --></A><H3>clearProperty</H3><PRE>public static <A HREF="String.html" title="java.lang 中的类">String</A> <B>clearProperty</B>(<A HREF="String.html" title="java.lang 中的类">String</A> key)</PRE><DL><DD>移除指定键指示的系统属性。 <p>首先,如果安全管理器存在,则通过 <code>PropertyPermission(key, "write")</code> 权限调用其 <code>SecurityManager.checkPermission</code> 方法。这可能导致抛出 SecurityException。如果没有抛出异常,则移除指定的属性。 <p><P><DD><DL><DT><B>参数:</B><DD><CODE>key</CODE> - 要移除的系统属性的名称。<DT><B>返回:</B><DD>系统属性以前的字符串值,如果带有此键的属性不存在,则返回 <code>null</code>。<DT><B>抛出:</B><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且其 <code>checkPropertyAccess</code> 方法不允许访问指定的系统属性。<DD><CODE><A HREF="NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 <code>key</code> 为 <code>null</code>。<DD><CODE><A HREF="IllegalArgumentException.html" title="java.lang 中的类">IllegalArgumentException</A></CODE> - 如果 <code>key</code> 为空。<DT><B>从以下版本开始:</B></DT> <DD>1.5</DD><DT><B>另请参见:</B><DD><A HREF="System.html#getProperty(java.lang.String)"><CODE>getProperty(java.lang.String)</CODE></A>, <A HREF="System.html#setProperty(java.lang.String, java.lang.String)"><CODE>setProperty(java.lang.String, java.lang.String)</CODE></A>, <A HREF="../util/Properties.html" title="java.util 中的类"><CODE>Properties</CODE></A>, <A HREF="SecurityException.html" title="java.lang 中的类"><CODE>SecurityException</CODE></A>, <A HREF="SecurityManager.html#checkPropertiesAccess()"><CODE>SecurityManager.checkPropertiesAccess()</CODE></A></DL></DD></DL><HR><A NAME="getenv(java.lang.String)"><!-- --></A><H3>getenv</H3><PRE>public static <A HREF="String.html" title="java.lang 中的类">String</A> <B>getenv</B>(<A HREF="String.html" title="java.lang 中的类">String</A> name)</PRE><DL><DD>获得指定的环境变量值。环境变量是一个取决于系统的外部命名的值。<p>如果安全管理器存在,则通过 <code><A HREF="RuntimePermission.html" title="java.lang 中的类"><CODE>RuntimePermission</CODE></A>("getenv."+name)</code> 的权限调用其 <A HREF="SecurityManager.html#checkPermission(java.security.Permission)"><CODE>checkPermission</CODE></A> 方法。这可能导致抛出 <A HREF="SecurityException.html" title="java.lang 中的类"><CODE>SecurityException</CODE></A>。如果没有抛出异常,则返回变量 <code>name</code> 的值。<p><a name="EnvironmentVSSystemProperties">从概念上讲,<i>系统属性</i> 和<i>环境变量</i> 都是名称与值之间的映射。两种机制都能用来将用户定义的信息传递给 Java 进程。环境变量产生更多的全局效应,因为它们不仅对紧接着出现的 Java 子进程可见,而且对于定义它们的进程的所有子进程都是可见的。在不同的操作系统上,它们的语义有细微的差别,比如,不区分大小写。因为这些原因,环境变量更可能有意料不到的副作用。最好在可能的地方使用系统属性。环境变量应该在需要全局效应的时候使用,或者在外部系统接口要求使用环境变量时使用(比如 <code>PATH</code>)。<p>在 UNIX 系统中,<code>name</code> 的字母大小写通常很重要,而在 Microsoft Windows 系统中,这通常不重要。例如,表达式 <code>System.getenv("FOO").equals(System.getenv("foo"))</code> 在 Microsoft Windows 中可能为真。<P><DD><DL><DT><B>参数:</B><DD><CODE>name</CODE> - 环境变量的名称<DT><B>返回:</B><DD>变量的字符串值,如果变量不是在系统环境中定义的,则返回 <code>null</code><DT><B>抛出:</B><DD><CODE><A HREF="NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 <code>name</code> 为 <code>null</code><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且其 <A HREF="SecurityManager.html#checkPermission(java.security.Permission)"><CODE>checkPermission</CODE></A> 方法不允许访问环境变量 <code>name</code><DT><B>另请参见:</B><DD><A HREF="System.html#getenv()"><CODE>getenv()</CODE></A>, <A HREF="ProcessBuilder.html#environment()"><CODE>ProcessBuilder.environment()</CODE></A></DL></DD></DL><HR><A NAME="getenv()"><!-- --></A><H3>getenv</H3><PRE>public static <A HREF="../util/Map.html" title="java.util 中的接口">Map</A><<A HREF="String.html" title="java.lang 中的类">String</A>,<A HREF="String.html" title="java.lang 中的类">String</A>> <B>getenv</B>()</PRE><DL><DD>返回一个不能修改的当前系统环境的字符串映射视图。该环境是一个取决于系统的从名称到值的映射,它从父进程传递给子进程。<p>如果系统不支持环境变量,则返回一个空映射。<p>返回的映射永远不会包含 null 键或 Null 值。如果试图查询 null 键或 Null 值的存在,则会抛出 <A HREF="NullPointerException.html" title="java.lang 中的类"><CODE>NullPointerException</CODE></A>。如果试图查询不是 <A HREF="String.html" title="java.lang 中的类"><CODE>String</CODE></A> 类型的键或值的存在,则会抛出 <A HREF="ClassCastException.html" title="java.lang 中的类"><CODE>ClassCastException</CODE></A>。<p>返回的映射及其集合视图可能没有遵守 <A HREF="Object.html#equals(java.lang.Object)"><CODE>Object.equals(java.lang.Object)</CODE></A> 和 <A HREF="Object.html#hashCode()"><CODE>Object.hashCode()</CODE></A> 方法的通用协定。<p>在所有的平台上,返回的映射通常都是区分大小写的。<p>如果安全管理器存在,则通过 <code><A HREF="RuntimePermission.html" title="java.lang 中的类"><CODE>RuntimePermission</CODE></A>("getenv.*")</code> 权限调用 <A HREF="SecurityManager.html#checkPermission(java.security.Permission)"><CODE>checkPermission</CODE></A> 方法。这可能导致抛出 <A HREF="SecurityException.html" title="java.lang 中的类"><CODE>SecurityException</CODE></A>。<p>将信息传递给 Java 子进程时,<a href=#EnvironmentVSSystemProperties>系统属性</a>一般优先于环境变量。
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?