我正在为我部署的每个应用程序在内部服务器上的受保护文件夹中维护包含数据库凭据的属性文件。 不允许我将凭据存储在 WAR 文件中。
在我的 PC 上测试时,路径是 Windows 安装,但当我对服务器进行 depoloy 时,它是 unix 路径
我一直在这样处理
检索//siteDbCedentialFolder obtained from web.xml
Properties prop = new Properties();
InputStream in = null;
try {
//assume running on server first
in = new FileInputStream("/abc/data/" + siteDbCedentialFolder + "/props.txt");
} catch (java.io.IOException ex) {
// Probabaly Running locally
in = new FileInputStream("W:/internal/abc/data/" + siteDbCedentialFolder + "/props.txt");
} catch (Exception xx) {
xx.printStackTrace();
}
prop.load(in);
in.close();
我使用捕获来获取本地路径的方法是否正常,或者有更好的方法来编码?
更好的方法是将 txt 文件放在用户主目录中并通过以下方式获取
System.getProperty("user.home");
并获取完整路径
String pathToFile = System.getProperty("user.home") + File.separator + "data" + File.separator + "props.txt";
它可以在所有平台上工作,前提是您需要将文件放在适当的位置(用户主页)