Java 如何访问user.home目录中的属性文件?
如何访问Java 如何访问user.home目录中的属性文件?,java,properties,environment-variables,Java,Properties,Environment Variables,如何访问user.home中名为test.property的属性文件 这不起作用: public class Properties { private static java.util.Properties p = new java.util.Properties(); static { try { String home = System.getProperty("user.home"); home += "\
user.home
中名为test.property
的属性文件
这不起作用:
public class Properties {
private static java.util.Properties p = new java.util.Properties();
static {
try {
String home = System.getProperty("user.home");
home += "\\test.properties";
System.out.println("User home: " + home);
InputStream is = Properties.class.getResourceAsStream(home);
p.load(is);
} catch (FileNotFoundException e) {
System.out.println("property file could not be found!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
您可能会发现user.home
不在应用程序的运行时类路径上。在这种情况下,请使用文件
您可能会发现
user.home
不在应用程序的运行时类路径上。在这种情况下,请使用文件
。作为备用,最好根据主类的包名将应用程序属性放入user.home
的子目录中。这有助于避免您的(名称不正确的)test.properties
覆盖我的(名称不正确的)test.properties
(反之亦然)。@dooonot作为将来的参考,“不起作用”不是描述问题的适当方式。发布代码是第一步,下一步是发布实际发生的情况,即您获得的输出、异常等。不要仅仅假设人们不仅会编译和运行您的代码,还会得到与您相同的结果。顺便说一下,最好根据主类的包名将应用程序属性放入user.home
的子目录中。这有助于避免您的(名称不正确的)test.properties
覆盖我的(名称不正确的)test.properties
(反之亦然)。@dooonot作为将来的参考,“不起作用”不是描述问题的适当方式。发布代码是第一步,下一步是发布实际发生的情况,即您得到的输出、异常等。不要仅仅假设人们不仅会编译和运行您的代码,还会得到与您相同的结果。
File propsFile = new File(home, "test.properties");
InputStream is = new FileInputStream(propsFile);