读取jar包内配置文件:
Properties config = new Properties();
- InputStream in = this.getClass().getClassLoader().getResourceAsStream("/configfilename.properties");
- InputStream in =Thread.currentThread().getContextClassLoader().getResource("/configfilename.properties").openStream();
config.load(in);
读取jar包外配置文件:
Properties config = new Properties();
String filePath = System.getProperty("user.dir") + "/conf/configfilename.properties";
InputStream in = new BufferedInputStream(new FileInputStream(filePath));
config.load(in);
System.getProperty("user.dir")输出的是jar包所在的路径。
为了防止Linux里读取“/”的错误,我们用File.separator来代替“/”。
所以
String filePath = System.getProperty("user.dir") +File.separator+"conf"+File.separator+"configfilename.properties";