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

How do I inject windows username into new java.io.FileInputStream?

我想将 windows 用户名注入 URL 位置,输入流将其作为字符串。它需要是一个连续的字符串,我不知道如何插入它。这样做的正确方法是什么?这是它的设置方式。

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

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

使用String.replace

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

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

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

我最喜欢的是下面的,因为它是OS独立的:

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

或者从 属性 文件读取它。

此外,我建议使用 / 而不是 \

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

System.getenv 也应该有用,物有所值。

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