maven打包的时候自动将配置文件打在jar包内,但是有时候我们希望读取jar包内的配置文件,保持配置文件的不变性,但有时候我们希望读取外部的配置文件,允许配置文件动态变化。
读取jar内部的配置文件
InputStream in = GetConfig.class.getClassLoader().getResourceAsStream(filename);
从classpath下查找配置文件,这样只会读取jar内部的配置文件。
读取jar外部的配置文件
String rootPath = System.getProperty("user.dir").replace("\\", "/");
FileInputStream in = new FileInputStream(rootPath+"/config.properties");
我们将jar包和配置文件放在同一目录,这样可以随时修改。