user.dir 是何方神圣。

user.dir 是何方神圣。


据说 System.getProperty("user.dir"); 可以获取我们计算机的系统信息。

那么 user.dir 的参数又该怎么传,ta 又可以获得哪些信息?

话不多说,追溯原因。好在文档注释写的非常详细。

    /**
     * Determines the current system properties.
     * <p>
     * First, if there is a security manager, its
     * <code>checkPropertiesAccess</code> method is called with no
     * arguments. This may result in a security exception.
     * <p>
     * The current set of system properties for use by the
     * {@link #getProperty(String)} method is returned as a
     * <code>Properties</code> object. If there is no current set of
     * system properties, a set of system properties is first created and
     * initialized. This set of system properties always includes values
     * for the following keys:
     * <table summary="Shows property keys and associated values">
     * <tr><th>Key</th>
     *     <th>Description of Associated Value</th></tr>
     * <tr><td><code>java.version</code></td>
     *     <td>Java Runtime Environment version</td></tr>
     * <tr><td><code>java.vendor</code></td>
     *     <td>Java Runtime Environment vendor</td></tr>
     * <tr><td><code>java.vendor.url</code></td>
     *     <td>Java vendor URL</td></tr>
     * <tr><td><code>java.home</code></td>
     *     <td>Java installation directory</td></tr>
     * <tr><td><code>java.vm.specification.version</code></td>
     *     <td>Java Virtual Machine specification version</td></tr>
     * <tr><td><code>java.vm.specification.vendor</code></td>
     *     <td>Java Virtual Machine specification vendor</td></tr>
     * <tr><td><code>java.vm.specification.name</code></td>
     *     <td>Java Virtual Machine specification name</td></tr>
     * <tr><td><code>java.vm.version</code></td>
     *     <td>Java Virtual Machine implementation version</td></tr>
     * <tr><td><code>java.vm.vendor</code></td>
     *     <td>Java Virtual Machine implementation vendor</td></tr>
     * <tr><td><code>java.vm.name</code></td>
     *     <td>Java Virtual Machine implementation name</td></tr>
     * <tr><td><code>java.specification.version</code></td>
     *     <td>Java Runtime Environment specification  version</td></tr>
     * <tr><td><code>java.specification.vendor</code></td>
     *     <td>Java Runtime Environment specification  vendor</td></tr>
     * <tr><td><code>java.specification.name</code></td>
     *     <td>Java Runtime Environment specification  name</td></tr>
     * <tr><td><code>java.class.version</code></td>
     *     <td>Java class format version number</td></tr>
     * <tr><td><code>java.class.path</code></td>
     *     <td>Java class path</td></tr>
     * <tr><td><code>java.library.path</code></td>
     *     <td>List of paths to search when loading libraries</td></tr>
     * <tr><td><code>java.io.tmpdir</code></td>
     *     <td>Default temp file path</td></tr>
     * <tr><td><code>java.compiler</code></td>
     *     <td>Name of JIT compiler to use</td></tr>
     * <tr><td><code>java.ext.dirs</code></td>
     *     <td>Path of extension directory or directories
     *         <b>Deprecated.</b> <i>This property, and the mechanism
     *            which implements it, may be removed in a future
     *            release.</i> </td></tr>
     * <tr><td><code>os.name</code></td>
     *     <td>Operating system name</td></tr>
     * <tr><td><code>os.arch</code></td>
     *     <td>Operating system architecture</td></tr>
     * <tr><td><code>os.version</code></td>
     *     <td>Operating system version</td></tr>
     * <tr><td><code>file.separator</code></td>
     *     <td>File separator ("/" on UNIX)</td></tr>
     * <tr><td><code>path.separator</code></td>
     *     <td>Path separator (":" on UNIX)</td></tr>
     * <tr><td><code>line.separator</code></td>
     *     <td>Line separator ("\n" on UNIX)</td></tr>
     * <tr><td><code>user.name</code></td>
     *     <td>User's account name</td></tr>
     * <tr><td><code>user.home</code></td>
     *     <td>User's home directory</td></tr>
     * <tr><td><code>user.dir</code></td>
     *     <td>User's current working directory</td></tr>
     * </table>
     * <p>
     * Multiple paths in a system property value are separated by the path
     * separator character of the platform.
     * <p>
     * Note that even if the security manager does not permit the
     * <code>getProperties</code> operation, it may choose to permit the
     * {@link #getProperty(String)} operation.
     *
     * @return     the system properties
     * @exception  SecurityException  if a security manager exists and its
     *             <code>checkPropertiesAccess</code> method doesn't allow access
     *              to the system properties.
     * @see        #setProperties
     * @see        java.lang.SecurityException
     * @see        java.lang.SecurityManager#checkPropertiesAccess()
     * @see        java.util.Properties
     */
    public static Properties getProperties() {
        SecurityManager sm = getSecurityManager();
        if (sm != null) {
            sm.checkPropertiesAccess();
        }

        return props;
    }
Title
KeyDescription of Associated Value
java.versionJava Runtime Environment version
java.vendorJava Runtime Environment vendor
java.vendor.urlJava vendor URL
java.homeJava installation directory
java.vm.specification.versionJava Virtual Machine specification version
java.vm.specification.vendorJava Virtual Machine specification vendor
java.vm.specification.nameJava Virtual Machine specification name
java.vm.versionJava Virtual Machine implementation version
java.vm.vendorJava Virtual Machine implementation vendor
java.vm.nameJava Virtual Machine implementation name
java.specification.versionJava Runtime Environment specification version
java.specification.vendorJava Runtime Environment specification vendor
java.specification.nameJava Runtime Environment specification name
java.class.versionJava class format version number
java.class.pathJava class path
java.library.pathList of paths to search when loading libraries
java.io.tmpdirDefault temp file path
java.compilerName of JIT compiler to use
java.ext.dirsPath of extension directory or directories Deprecated. This property, and the mechanism which implements it, may be removed in a future release.
os.nameOperating system name
os.archOperating system architecture
os.versionOperating system version
file.separatorFile separator ("/" on UNIX)
path.separatorPath separator (":" on UNIX)
line.separatorLine separator ("\n" on UNIX)
user.nameUser's account name
user.homeUser's home directory
user.dirUser's current working directory

package com.geek;

public class HelloWorld {

    public static void main(String[] args) {

        System.out.println(System.getProperty("java.version"));// 	Java Runtime Environment version
        // 11.0.6
        System.out.println(System.getProperty("java.vendor"));// 	Java Runtime Environment vendor
        // JetBrains s.r.o
        System.out.println(System.getProperty("java.vendor.url"));// 	Java vendor URL
        // https://www.jetbrains.com/
        System.out.println(System.getProperty("java.home"));// 	Java installation directory
        // /home/geek/geek/tools_my/idea-IU-193.7288.26/jbr
        System.out.println(System.getProperty("java.vm.specification.version"));// 	Java Virtual Machine specification version
        // 11
        System.out.println(System.getProperty("java.vm.specification.vendor"));// 	Java Virtual Machine specification vendor
        // Oracle Corporation
        System.out.println(System.getProperty("java.vm.specification.name"));// 	Java Virtual Machine specification name
        // Java Virtual Machine Specification
        System.out.println(System.getProperty("java.vm.version"));// 	Java Virtual Machine implementation version
        // 11.0.6+8-b520.66
        System.out.println(System.getProperty("java.vm.vendor"));// 	Java Virtual Machine implementation vendor
        // JetBrains s.r.o
        System.out.println(System.getProperty("java.vm.name"));// 	Java Virtual Machine implementation name
        // OpenJDK 64-Bit Server VM
        System.out.println(System.getProperty("java.specification.version"));// 	Java Runtime Environment specification version
        // 11
        System.out.println(System.getProperty("java.specification.vendor"));// 	Java Runtime Environment specification vendor
        // Oracle Corporation
        System.out.println(System.getProperty("java.specification.name"));// 	Java Runtime Environment System.out.println();specification name
        // Java Platform API Specification
        System.out.println(System.getProperty("java.class.version"));// 	Java class format version number
        // 55.0
        System.out.println(System.getProperty("java.class.path"));// 	Java class path
        // /root/IdeaProjects/untitled/out/production/HelloWorld:/home/geek/geek/tools_my/idea-IU-193.7288.26/lib/idea_rt.jar
        System.out.println(System.getProperty("java.library.path"));// 	List of paths to search when loading libraries
        // /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
        System.out.println(System.getProperty("java.io.tmpdir"));// 	Default temp file path
        // /tmp
        System.out.println(System.getProperty("java.compiler"));// 	Name of JIT compiler to use
        // null
        System.out.println(System.getProperty("java.ext.dirs"));// 	Path of extension directory or directories Deprecated. This property, and the mechanism which implements it, may be removed in a future release.
        // null
        System.out.println(System.getProperty("os.name"));// 	Operating system name
        // Linux
        System.out.println(System.getProperty("os.arch"));// 	Operating system architecture
        // amd64
        System.out.println(System.getProperty("os.version"));// 	Operating system version
        // 5.4.0-31-generic
        System.out.println(System.getProperty("file.separator"));// 	File separator ("/" on UNIX)
        // /
        System.out.println(System.getProperty("path.separator"));// 	Path separator (":" on UNIX)
        // :
        System.out.println(System.getProperty("line.separator"));// 	Line separator ("\n" on UNIX)
        //

        System.out.println(System.getProperty("user.name"));// 	User's account name
        // root
        System.out.println(System.getProperty("user.home"));// 	User's home directory
        // /root
        System.out.println(System.getProperty("user.dir"));// 	User's current working directory
        // /root/IdeaProjects/untitled
    }

}


package com.geek;

public class JavaTest {

    public static void main(String[] args) {
        
        System.out.println(System.getProperty("java.version"));// 	Java Runtime Environment version
        // 1.8.0_241
        System.out.println(System.getProperty("java.vendor"));// 	Java Runtime Environment vendor
        // Oracle Corporation
        System.out.println(System.getProperty("java.vendor.url"));// 	Java vendor URL
        // http://java.oracle.com/
        System.out.println(System.getProperty("java.home"));// 	Java installation directory
        // G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre
        System.out.println(System.getProperty("java.vm.specification.version"));// 	Java Virtual Machine specification version
        // 1.8
        System.out.println(System.getProperty("java.vm.specification.vendor"));// 	Java Virtual Machine specification vendor
        // Oracle Corporation
        System.out.println(System.getProperty("java.vm.specification.name"));// 	Java Virtual Machine specification name
        // Java Virtual Machine Specification
        System.out.println(System.getProperty("java.vm.version"));// 	Java Virtual Machine implementation version
        // 25.241-b07
        System.out.println(System.getProperty("java.vm.vendor"));// 	Java Virtual Machine implementation vendor
        // Oracle Corporation
        System.out.println(System.getProperty("java.vm.name"));// 	Java Virtual Machine implementation name
        // Java HotSpot(TM) 64-Bit Server VM
        System.out.println(System.getProperty("java.specification.version"));// 	Java Runtime Environment specification version
        // 1.8
        System.out.println(System.getProperty("java.specification.vendor"));// 	Java Runtime Environment specification vendor
        // Oracle Corporation
        System.out.println(System.getProperty("java.specification.name"));// 	Java Runtime Environment System.out.println();specification name
        // Java Platform API Specification
        System.out.println(System.getProperty("java.class.version"));// 	Java class format version number
        // 52.0
        System.out.println(System.getProperty("java.class.path"));// 	Java class path
        // G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\charsets.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\deploy.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\access-bridge-64.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\cldrdata.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\dnsns.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\jaccess.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\localedata.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\nashorn.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\sunec.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\sunjce_provider.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\sunmscapi.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\sunpkcs11.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\ext\zipfs.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\javaws.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\jce.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\jfr.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\jfxswt.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\jsse.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\management-agent.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\plugin.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\resources.jar;G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\jre\lib\rt.jar;G:\lyfGeek\IdeaProjects\mybatis-geek\mybatis-05-multi\target\test-classes;G:\lyfGeek\IdeaProjects\mybatis-geek\mybatis-05-multi\target\classes;G:\lyfGeek\maven_repository\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar;G:\lyfGeek\maven_repository\org\mybatis\mybatis\3.5.3\mybatis-3.5.3.jar;G:\lyfGeek\maven_repository\junit\junit\4.12\junit-4.12.jar;G:\lyfGeek\maven_repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;G:\lyfGeek\maven_repository\org\projectlombok\lombok\1.18.12\lombok-1.18.12.jar;G:\lyfGeek\Program Files\JetBrains\IntelliJ IDEA 2018.3.6\lib\idea_rt.jar;C:\Users\geek\.IntelliJIdea2018.3\system\captureAgent\debugger-agent.jar
        System.out.println(System.getProperty("java.library.path"));// 	List of paths to search when loading libraries
        // G:\lyfGeek\ProgramFiles\Java\jdk1.8.0_241\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;F:\Program Files (x86)\Python37-32\Scripts\;F:\Program Files (x86)\Python37-32\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;g:\lyfgeek\ProgramFiles\Git\cmd;C:\Users\geek\AppData\Local\Microsoft\WindowsApps;;g:\lyfGeek\Program Files\JetBrains\IntelliJ IDEA 2018.3.6\bin;;g:\Program Files\JetBrains\PyCharm 2018.3.7\bin;;g:\Program Files\JetBrains\WebStorm 2020.1.1\bin;;.
        System.out.println(System.getProperty("java.io.tmpdir"));// 	Default temp file path
        // C:\Users\geek\AppData\Local\Temp\
        System.out.println(System.getProperty("java.compiler"));// 	Name of JIT compiler to use
        // null
        System.out.println(System.getProperty("java.ext.dirs"));// 	Path of extension directory or directories Deprecated. This property, and the mechanism which implements it, may be removed in a future release.
        //
        System.out.println(System.getProperty("os.name"));// 	Operating system name
        // Windows 10
        System.out.println(System.getProperty("os.arch"));// 	Operating system architecture
        // amd64
        System.out.println(System.getProperty("os.version"));// 	Operating system version
        // 10.0
        System.out.println(System.getProperty("file.separator"));// 	File separator ("/" on UNIX)
        // \
        System.out.println(System.getProperty("path.separator"));// 	Path separator (":" on UNIX)
        // ;
        System.out.println(System.getProperty("line.separator"));// 	Line separator ("\n" on UNIX)
        //

        System.out.println(System.getProperty("user.name"));// 	User's account name
        // geek
        System.out.println(System.getProperty("user.home"));// 	User's home directory
        // C:\Users\geek
        System.out.println(System.getProperty("user.dir"));// 	User's current working directory
        // G:\lyfGeek\IdeaProjects\mybatis-geek
    }

}

package com.geek;

public class JavaTest {

    public static void main(String[] args) {
        
        System.out.println(System.getProperty("java.version"));// 	Java Runtime Environment version
        // 11.0.6
        System.out.println(System.getProperty("java.vendor"));// 	Java Runtime Environment vendor
        // JetBrains s.r.o
        System.out.println(System.getProperty("java.vendor.url"));// 	Java vendor URL
        // https://www.jetbrains.com/
        System.out.println(System.getProperty("java.home"));// 	Java installation directory
        // /home/geek/geek/tools_my/idea-IU-193.7288.26/jbr
        System.out.println(System.getProperty("java.vm.specification.version"));// 	Java Virtual Machine specification version
        // 11
        System.out.println(System.getProperty("java.vm.specification.vendor"));// 	Java Virtual Machine specification vendor
        // Oracle Corporation
        System.out.println(System.getProperty("java.vm.specification.name"));// 	Java Virtual Machine specification name
        // Java Virtual Machine Specification
        System.out.println(System.getProperty("java.vm.version"));// 	Java Virtual Machine implementation version
        // 11.0.6+8-b520.66
        System.out.println(System.getProperty("java.vm.vendor"));// 	Java Virtual Machine implementation vendor
        // JetBrains s.r.o
        System.out.println(System.getProperty("java.vm.name"));// 	Java Virtual Machine implementation name
        // OpenJDK 64-Bit Server VM
        System.out.println(System.getProperty("java.specification.version"));// 	Java Runtime Environment specification version
        // 11
        System.out.println(System.getProperty("java.specification.vendor"));// 	Java Runtime Environment specification vendor
        // Oracle Corporation
        System.out.println(System.getProperty("java.specification.name"));// 	Java Runtime Environment System.out.println();specification name
        // Java Platform API Specification
        System.out.println(System.getProperty("java.class.version"));// 	Java class format version number
        // 55.0
        System.out.println(System.getProperty("java.class.path"));// 	Java class path
        // /home/geek/IdeaProjects/untitled/out/production/untitled:/home/geek/geek/tools_my/idea-IU-193.7288.26/lib/idea_rt.jar
        System.out.println(System.getProperty("java.library.path"));// 	List of paths to search when loading libraries
        // /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
        System.out.println(System.getProperty("java.io.tmpdir"));// 	Default temp file path
        // /tmp
        System.out.println(System.getProperty("java.compiler"));// 	Name of JIT compiler to use
        // null
        System.out.println(System.getProperty("java.ext.dirs"));// 	Path of extension directory or directories Deprecated. This property, and the mechanism which implements it, may be removed in a future release.
        // null
        System.out.println(System.getProperty("os.name"));// 	Operating system name
        // Linux
        System.out.println(System.getProperty("os.arch"));// 	Operating system architecture
        // amd64
        System.out.println(System.getProperty("os.version"));// 	Operating system version
        // 5.4.0-31-generic
        System.out.println(System.getProperty("file.separator"));// 	File separator ("/" on UNIX)
        // /
        System.out.println(System.getProperty("path.separator"));// 	Path separator (":" on UNIX)
        // :
        System.out.println(System.getProperty("line.separator"));// 	Line separator ("\n" on UNIX)
        //

        System.out.println(System.getProperty("user.name"));// 	User's account name
        // geek
        System.out.println(System.getProperty("user.home"));// 	User's home directory
        // /home/geek
        System.out.println(System.getProperty("user.dir"));// 	User's current working directory
        // /home/geek/IdeaProjects/untitled
    }

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lyfGeek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值