Java中有os.path.expanduser
和os.path.expandvars
(documentation)这样的东西吗?
如果没有,是否有某个库可以执行此操作?
答案 0 :(得分:0)
我不知道哪些内容完全符合您的要求,但您可以使用System.getProperty("user.home")
获取用户的主目录,并且可以使用System.getenv(String name)解析环境变量。
答案 1 :(得分:0)
遗憾的是,Java并没有附带“包含电池”:(
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Path {
static Pattern pv=Pattern.compile("\\$\\{(\\w+)\\}");
/*
* os.path.expanduser
*/
public static String expanduser(String path) {
String user=System.getProperty("user.home");
return path.replaceFirst("~", user);
}//expanduser
/*
* os.path.expandvars
*/
public static String expandvars(String path) {
String result=new String(path);
Matcher m=pv.matcher(path);
while(m.find()) {
String var=m.group(1);
String value=System.getenv(var);
if (value!=null)
result=result.replace("${"+var+"}", value);
}
return result;
}//expandvars
}///