1. 程式人生 > >獲得程式當前路徑System.getProperty("user.dir")

獲得程式當前路徑System.getProperty("user.dir")

因為所有在java.io中的類都是將相對路徑名解釋為起始於使用者的當前工作目錄,所以應該清楚當前的目錄。

可以通過呼叫System.getProperty("user.dir") 來獲得。

/**

獲得當前類的完整路徑。最後一句

*/

package org.outman.dms.server;

 

import java.net.MalformedURLException;

import java.net.URI;

import java.net.URISyntaxException;

import java.net.URL;

 

/**

*

java.version          Java 執行時環境版本

java.vendor         Java 執行時環境供應商

java.vendor.url         Java 供應商的 URL

java.vm.specification.version         Java 虛擬機器規範版本

java.vm.specification.vendor         Java 虛擬機器規範供應商

java.vm.specification.name         Java 虛擬機器規範名稱

java.vm.version         Java 虛擬機器實現版本

java.vm.vendor         Java 虛擬機器實現供應商

java.vm.name         Java 虛擬機器實現名稱

java.specification.version         Java 執行時環境規範版本

java.specification.vendor         Java 執行時環境規範供應商

java.specification.name         Java 執行時環境規範名稱

os.name         作業系統的名稱

os.arch         作業系統的架構

os.version         作業系統的版本

file.separator         檔案分隔符(在 UNIX 系統中是“ / ”)

path.separator         路徑分隔符(在 UNIX 系統中是“ : ”)

line.separator         行分隔符(在 UNIX 系統中是“ /n ”)

 

java.home         Java 安裝目錄

java.class.version         Java 類格式版本號

java.class.path         Java 類路徑

java.library.path          載入庫時搜尋的路徑列表

java.io.tmpdir         預設的臨時檔案路徑

java.compiler         要使用的 JIT 編譯器的名稱

java.ext.dirs         一個或多個擴充套件目錄的路徑

user.name         使用者的賬戶名稱

user.home         使用者的主目錄

user.dir

*/

public class Test {

        public static void main(String[] args) throws MalformedURLException, URISyntaxException {

                System.out.println("java.home : "+System.getProperty("java.home"));

                System.out.println("java.class.version : "+System.getProperty("java.class.version"));

                System.out.println("java.class.path : "+System.getProperty("java.class.path"));

                System.out.println("java.library.path : "+System.getProperty("java.library.path"));

                System.out.println("java.io.tmpdir : "+System.getProperty("java.io.tmpdir"));

                System.out.println("java.compiler : "+System.getProperty("java.compiler"));

                System.out.println("java.ext.dirs : "+System.getProperty("java.ext.dirs"));

                System.out.println("user.name : "+System.getProperty("user.name"));

                System.out.println("user.home : "+System.getProperty("user.home"));

                System.out.println("user.dir : "+System.getProperty("user.dir"));

                System.out.println("===================");

                System.out.println("package: "+Test.class.getPackage().getName());

                System.out.println("package: "+Test.class.getPackage().toString());

                System.out.println("=========================");

                String packName = Test.class.getPackage().getName();

                /*URL packurl = new URL(packName);

                System.out.println(packurl.getPath());*/

                URI packuri = new URI(packName);

                System.out.println(packuri.getPath());

                //System.out.println(packuri.toURL().getPath());

                System.out.println(packName.replaceAll("//.", "/"));

                System.out.println(System.getProperty("user.dir")+"/"+(Test.class.getPackage().getName()).replaceAll("//.", "/")+"/");

        }

} 

System.getProperty("user.dir")  當前工程路徑

(Test.class.getPackage().getName()).replaceAll("//.","/")   當前包路徑。