首先看两种目录结构:
结构一:
这种目录形式,其配置文件在打包发布之后会跟资源文件一样,打包在一个jar文件当中,用户今后将很难修改文件里面的配置内容。
结构二:
在tomcat服务器中整个项目将会以war文件的形式进行打包。但是该配置文件不会与其他资源文件一起打包成jar文件形式,可以方便用户进行灵活的配置。手动修改或通过UI界面修改,都可以很好的满足用户。
但是两种目录结构在程序中针对于配置文件的读取方式不一样:
结构一: (这是在资源文件下的加载形式)
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");
Properties p = new Properties();
try {
p.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
结构二: (以文件方式的加载方式)
Properties p = new Properties();
Filepath = System.getProperty("user.dir") + “\\conf\\database.properties”;
try {
p.load(new BufferedInputStream(new FileInputStream(filepath)));
System.out.println(p.getProperty("driverclass"));
} catch (IOException e) {
e.printStackTrace();
}
其中System.getProperty("user.dir") 是得到当前项目的路径