关于System.getProperty("java.io.tmpdir");的输出,及System.getProperty();参数

1,首先来介绍下System.getProperty("java.io.tmpdir")输出由于这个输出有点特殊。java

  理论介绍:他是获取系统临时目录。能够是window的temp,linux的临时目录等。linux

  实际:实际上他获取的有时候并非咱们想要获取的。好比一个web程序:若是你不用tomcat,直接一个java类main方法,而后直接输出System.getProperty("java.io.tmpdir")那么结果是你当前系统下的临时文件目录如                                            win7:C:\Users\用户名\AppData\Local\Temp。但若是你把web程序放入tomcat下而后再输出System.getProperty("java.io.tmpdir"),那么这是结果是:D:\apache-tomcat-7.0.47\temp。为何呢?web

      这个问题其实我也还没找到答案,可是我在这里把我找到的一些解释汇总一下:apache

         1楼:tomcat

      和调用有关吧
      在d:\时,是在Win下执行,返回的是Win的临时目录
      在项目中,是Tomcat执行,返回是Tomcat本身设置的临时目录架构

       2楼:工具

      临时目录,那就哪方便建哪里了。呵呵,因此不一样的环境是不同的。
      你在linux下面运行,又会是另外一个路径了!网站

     3楼:url

      它是根据不一样的环境来创建的是吧spa

     4楼:

          嗯,一楼说的有道理的,是与坏境有关的,甚至有的工具会让你本身选择临时文件放在哪的,不知道你的那个工具能不能设置的‘

       5楼:

      由于 Tomcat 在启动时,在 %TOMCAT_HOME%/bin/catalina.bat 中采用
      -Djava.io.tmpdir 参数从新指定了路径,有须要的话能够自行更改,或者
      删掉再试试看。

    这就是我找的一些资料,实在太少。

 

      

2:System.getProperty();参数列表

     

       System.out.println("java版本号:" + System.getProperty("java.version")); // java版本号
            System.out.println("Java提供商名称:" + System.getProperty("java.vendor")); // Java提供商名称
            System.out.println("Java提供商网站:" + System.getProperty("java.vendor.url")); // Java提供商网站
            System.out.println("jre目录:" + System.getProperty("java.home")); // Java,哦,应该是jre目录
            System.out.println("Java虚拟机规范版本号:" + System.getProperty("java.vm.specification.version")); // Java虚拟机规范版本号
            System.out.println("Java虚拟机规范提供商:" + System.getProperty("java.vm.specification.vendor")); // Java虚拟机规范提供商
            System.out.println("Java虚拟机规范名称:" + System.getProperty("java.vm.specification.name")); // Java虚拟机规范名称
            System.out.println("Java虚拟机版本号:" + System.getProperty("java.vm.version")); // Java虚拟机版本号
            System.out.println("Java虚拟机提供商:" + System.getProperty("java.vm.vendor")); // Java虚拟机提供商
            System.out.println("Java虚拟机名称:" + System.getProperty("java.vm.name")); // Java虚拟机名称
            System.out.println("Java规范版本号:" + System.getProperty("java.specification.version")); // Java规范版本号
            System.out.println("Java规范提供商:" + System.getProperty("java.specification.vendor")); // Java规范提供商
            System.out.println("Java规范名称:" + System.getProperty("java.specification.name")); // Java规范名称
            System.out.println("Java类版本号:" + System.getProperty("java.class.version")); // Java类版本号
            System.out.println("Java类路径:" + System.getProperty("java.class.path")); // Java类路径
            System.out.println("Java lib路径:" + System.getProperty("java.library.path")); // Java lib路径
            System.out.println("Java输入输出临时路径:" + System.getProperty("java.io.tmpdir")); // Java输入输出临时路径
            System.out.println("Java编译器:" + System.getProperty("java.compiler")); // Java编译器
            System.out.println("Java执行路径:" + System.getProperty("java.ext.dirs")); // Java执行路径
            System.out.println("操做系统名称:" + System.getProperty("os.name")); // 操做系统名称
            System.out.println("操做系统的架构:" + System.getProperty("os.arch")); // 操做系统的架构
            System.out.println("操做系统版本号:" + System.getProperty("os.version")); // 操做系统版本号
            System.out.println("文件分隔符:" + System.getProperty("file.separator")); // 文件分隔符
            System.out.println("路径分隔符:" + System.getProperty("path.separator")); // 路径分隔符
            System.out.println("直线分隔符:" + System.getProperty("line.separator")); // 直线分隔符
            System.out.println("操做系统用户名:" + System.getProperty("user.name")); // 用户名
            System.out.println("操做系统用户的主目录:" + System.getProperty("user.home")); // 用户的主目录
            System.out.println("当前程序所在目录:" + System.getProperty("user.dir")); // 当前程序所在目录

  作已铭记提醒本身。。。。。。

相关文章
相关标签/搜索