關於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")); // 當前程序所在目錄

  作已銘記提醒本身。。。。。。

相關文章
相關標籤/搜索