之所以要从程序中读取外部本地配置文件,是因为在项目已经打包部署的情况下,如果想要改变一些程序中配置的诸如ip,port等可能经常变动的元素,不必去改动源码然后再次打包部署。只需要把这些信息写在配置文件中,然后将该配置文件放置在运行该项目的Tomcat的根目录下。在程序中进行读取配置文件中的信息即可。代码如下:
String path = System.getProperty("catalina.home")+"/web/config/config.properties"; Properties prop=this.readProperties(path); String ip = prop.getProperty("ip"); String port = prop.getProperty("port"); /** * 读取外部properties文件内容 * @param path * @return */ public static Properties readProperties(String path) { Properties prop = new Properties(); InputStream input = null; try { input = new FileInputStream(path); prop.load(input); } catch (IOException ex) { ex.printStackTrace(); } finally { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); } } } return prop; }
其中的catalina.home即为运行该项目的tomcat的根目录,我的目录结构如图所示(目录结构可自己随意创建):
在config.properties文件中只需要配置好程序中所需的信息即可。