2013-05-20 56 views
1

如何使用enviroments vars從其路徑字符串中獲取File java對象? 例如:在Java中使用環境變量的新文件()

new File("%SYSTEM_ROOT%/file.txt") 

new File("${SYSTEM_ROOT}/file.txt") 
+1

不應該OP使用System.getenv? –

+0

我想知道是否存在一種方法來使用文件中的環境變量而無需手動替換它! – Tobia

+0

@fge:'System.getProperty()'不會返回一個環境變量值。 –

回答

1

我知道這個問題有點老,但沒有答案jet。

在有關環境變量的另一個問題是有simliar問題,他們有一個正則表達式的示例代碼:
System Variable Regex

此代碼替換所有系統瓦爾是在格式爲$ {} ENV_VAR。

希望幫助,
Kalasch

1

語法,允許使用%符號環境變量的獲取值是Windows外殼中的特徵。在java中,你應該使用System.getenv("SYSTEM_ROOT")來代替,所以你的行應該看起來像:new File(System.getenv("SYSTEM_ROOT") + "/file.txt")甚至更​​好new File(new File(System.getenv("SYSTEM_ROOT"), "file.txt")

+0

好的,問題在於路徑存儲在數據庫VAR中,所以我有這個字符串「%SYSTEM_ROOT%/ file.txt」(或「$ {SYSTEM_ROOT} /file.txt「),我需要相對的對象...但是我明白這是沒有辦法的,我可能會提供一個正則表達式替換。 – Tobia

相關問題