使用Java中的环境变量创建新文件()

使用Java中的环境变量创建新文件(),java,file,environment-variables,Java,File,Environment Variables,如何使用环境变量从文件java对象的路径字符串中获取文件java对象? 例如: new File("%SYSTEM_ROOT%/file.txt") 或 允许使用%符号获取环境变量值的语法是windows shell的一项功能。在java中,你应该使用System.getenv(“System\u ROOT”),所以你的行应该是这样的:新文件(System.getenv(“System\u ROOT”)+“/File.txt”)或者更好的新文件(新文件(System.getenv(“Syste

如何使用环境变量从文件java对象的路径字符串中获取文件java对象? 例如:

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


允许使用
%
符号获取环境变量值的语法是windows shell的一项功能。在java中,你应该使用
System.getenv(“System\u ROOT”)
,所以你的行应该是这样的:
新文件(System.getenv(“System\u ROOT”)+“/File.txt”)
或者更好的
新文件(新文件(System.getenv(“System\u ROOT”),“File.txt”)
我知道这个问题有点老了,但没有答案

在另一个关于环境变量的问题中,有一个simliar问题,它们有一个regex示例代码:

此代码替换格式为${ENV_VAR}的所有系统变量

希望有帮助,

Kalasch

OP不应该使用System.getenv吗?我想知道是否有一种方法可以在文件中使用环境变量而不用手动替换!@fge:
System.getProperty()
不会返回环境变量值。@JBNizet Oops,是的,我混合了
.getenv()
Ok,问题是路径存储在DB VAR中,所以我有这个字符串“%SYSTEM\u ROOT%/file.txt”(或“${SYSTEM\u ROOT}/file.txt”),我需要相对对象……但是我知道没有办法,我可以提供一个regex替换。
new File("${SYSTEM_ROOT}/file.txt")