Java里是否有类似Python中的os.path.expanduser
和os.path.expandvars
(文档)的功能?
如果没有,是否有其他库可以实现这个功能?
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
}///
我不知道有没有什么东西可以完全满足你的需求,但是你可以使用 System.getProperty("user.home")
来获取用户的主目录,并且你可以使用 System.getenv(String name) 来解析环境变量。