System.getProperty()_基本使用

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

  理论介绍:他是获取系统临时目录。可以是window的temp,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。为什么呢?

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

         1楼:

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

       2楼:

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

     3楼:

      它是根据不同的环境来建立的是吧

     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" ));  // 当前程序所在目录
posted @ 2021-04-14 16:12  照旧  阅读(12920)  评论(0编辑  收藏  举报