如何将windows用户名注入新的java.io.FileInputStream?

时间:2017-06-01 13:25:17

标签: java java-io

我想将windows用户名注入URL位置,该位置由输入流作为字符串获取。它需要是一个连续的String,我无法弄清楚如何插入它。这样做的正确方法是什么?这就是它的设置方式。

private String currUser = System.getenv("USERNAME");
fis = new FileInputStream("C:\\Users\\currUser\\db_creds.properties");

我需要字符串中的currUser来识别用户名。

2 个答案:

答案 0 :(得分:2)

使用String.replace

"C:\\Users\\currUser\\db_creds.properties".replace("currUser",currUser );

澄清之后,以下版本也应该有效:

fis = new FileInputStream("C:\\Users\\"+currUser+"\\db_creds.properties");

我最喜欢的是以下内容,因为它与操作系统无关:

 fis = new FileInputStream(System.getProperty("user.home")+"/db_creds.properties");

或者从属性文件中读取它。

另外,我建议您使用/代替\\

答案 1 :(得分:2)

private String currUser = System.getProperty("user.name");
fis = new FileInputStream("C:\\Users\\" + currUser + "\\db_creds.properties");

System.getenv也应该工作,因为它的价值。

如果这不起作用,请编辑您的问题以包含错误消息或问题所在的堆栈跟踪。