我正在尝试在appdata目录中创建一个新文件,但我使用类路径的环境变量都没有工作。
我希望这个程序不仅仅在我的本地机器上运行,所以我不想在那里硬编码值,这就是我使用这些变量的原因。
如果我尝试命令
FileOutputStream outputStream = new FileOutputStream(new File("%HOMEDRIVE%//chromedriver.exe"));
或
FileOutputStream outputStream = new FileOutputStream(new File("%AppData%\\Local\\Temp"));
他们都给出了错误
%HOMEDRIVE%\chromedriver.exe (The system cannot find the path specified)
有什么建议吗?
答案 0 :(得分:3)
你可以使用java.io.tmpdir
之类的,
System.out.println(System.getProperty("java.io.tmpdir"));
另一种选择是使用File.createTempFile(String, String)
,它将在系统临时目录中创建一个临时文件。如果您只想访问环境变量,可以使用
System.out.println(System.getenv("HOMEDRIVE"));
(如果您想访问%HOMEDRIVE%
)。注意:在类似* nix的系统上,上述内容将访问环境变量$HOMEDRIVE
。